一、创建测试文件
1、选中要测试的文件
右击>>>new>>>JUnit Test Case
二、用到的方法
1、导包
//在eclipse中可以.后回车,或者写完一个之后,后面的测试复制开头,或者等待提示自己补全
import static org.hamcrest.Matchers.*;
import static org.hamcrest.MatcherAssert.*;
2、RunWith
//特殊运行器
@RunWith(Parameterized.class)
public class changeTest{
String x;
String exe;
3、参数化测试(@Parameters)
//特殊函数参数化
@Parameters
public static Collection<Object[]>data(){
return Arrays.asList(new Object[][]{
//测试数据
{"abeee","替换前缀后的字符串为:efeee"},
{"eecd","替换cd后的字符串为:eegh"},
{"eeee","大写字母的字符串为:EEEE"}
});
}
三、断言
用来检测实际结果是否和预期结果一致
JUnit主要用的几个断言:
1、assertEquals()
用于检查两个值是否相等,不等抛出 AssertionError,接受两个参数,前面的是期望值后面的是实际值
assertEquals(expected, actual);
2、 assertTrue()
用于检查一个条件是否为 true,否则抛出 AssertionError
assertTrue(condition);
3 、assertFalse()
是否为false
assertFalse(condition);
4、assertNull()
用于检查一个对象是否为 null,不为 null,则抛出 AssertionError
assertNull(object);
5 、assertNotNull()
是否不为 null,如果为 null,异常
assertNotNull(object);
6、 assertSame()
是否完全相同
assertSame(expected, actual);
7 、assertNotSame()
是否不相同
assertNotSame(expected, actual);
8 、assertThat()
检查一个值是否满足特定条件,需要使用 Matchers 类库(前面要背住的导包)
//actual 表示实际值,matcher 表示匹配器
assertThat(T actual, Matcher<? super T> matcher);
四、注解
类似python里的语法糖
常用注解
@Test:将一个普通的方法修饰成为一个测试方法
@Test(expected=XX.class)
@Test(timeout=毫秒)
@BeforeClass:它会在所有的方法运行前被执行,static修饰
@AfterClass:它会在所有的方法运行结束后被执行,static修饰
@Before:会在每一个测试方法被运行前执行一次
@After:会在每一个测试方法运行后被执行一次
@Ignore:所修饰的测试方法会被测试运行器忽略
@RunWith:可以更改测试运行器 org.junit.runner.Runner
1、@RunWith
@Runwith 可以运行的Runner有很多
当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试,而不是JUnit默认的运行器