Junit
程序员文章站
2024-03-15 19:16:12
...
JUnit是什么
JUnit是一个Java语言的单元测试框架
其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性
Junit中有以下这些方法可以对结果进行判定:
方法 | 说明 |
---|---|
assertArrayEquals(expecteds, actuals) | 查看两个数组是否相等。 |
assertEquals(expected, actual) | 查看两个对象是否相等。类似于字符串比较使用的equals()方法 |
assertNotEquals(first, second) | 查看两个对象是否不相等。 |
assertNull(object) | 查看对象是否为空。 |
assertNotNull(object) | 查看对象是否不为空。 |
assertSame(expected, actual) | 查看两个对象的引用是否相等。类似于使用“==”比较两个对象 |
assertNotSame(unexpected, actual) | 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象 |
assertTrue(condition) | 查看运行结果是否为true。 |
assertFalse(condition) | 查看运行结果是否为false。 |
assertThat(actual, matcher) | 查看实际值是否满足指定的条件 |
fail() | 让测试失败 |
常用注解
aaa@qq.com: 测试方法
1.1.(expected=XXException.class)如果程序的异常和XXException.class一样,则测试通过
1.2.(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过
aaa@qq.com: 被忽略的测试方法:加上之后,暂时不运行此段代码
aaa@qq.com: 每一个测试方法之前运行
aaa@qq.com: 每一个测试方法之后运行
aaa@qq.com: 方法必须必须要是静态方法(static 声明),所有测试开始之前运行,注意区分before,是所有测试方法
aaa@qq.com: 方法必须要是静态方法(static 声明),所有测试结束之后运行,注意区分 @After
安装
如果你是用 eclipse 开发,也可以不用下载那些jar包,eclipse内部集成了,我们只需要引入即可:
1.选中项目,右键Build Path—> Config
2.Add Librar
3.Junit —>Next
4. Finish
Code
建立一个类
package com.framework.test;
public class Dem {
public int one (int one){
return one;
}
public int two (int two){
return two;
}
public int add(int one, int two){
return one+ two;
}
}
建立一个测试类
package com.framework.test;
import static org.junit.Assert.*;
import org.junit.Test;
public class DemTest {
@Test
public void testOne() {
assertEquals(1,new Dem().one(1));
}
@Test
public void testTwo() {
assertEquals(1,new Dem().two(1));
}
@Test
public void testAdd() {
assertEquals(1,new Dem().add(1, 2));
}
}
执行顺序
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("this is beforeClasss....");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("this is afterClasss....");
}
@Before
public void setUp() throws Exception {
System.out.println("this is brfore....");
}
@After
public void tearDown() throws Exception {
System.out.println("this is after....");
}
@Test
public void test1() {
System.out.println("this is test1....");
}
@Test
public void test2() {
System.out.println("this is test2....");
}