一、测试失败的两种情况
1.Failure指方法判断失败,也就是说程序输出的结果和预期的不一样
2.error是由程序代码逻辑错误引起,也可以说是测试代码中的一个隐藏的bug
3.测试用例不是用来证明你是对的,而是用来证明你没有错
测试用例用来达到想要的结果,但对于逻辑错误无能为力:如目的是求圆的面积,而你用了求圆周长的公式来求面积
二、Junit运行流程
1.测试方法必须使用@Test修饰
2.测试方法必须使用public void 进行修饰,不带任何参数
3.新建一个源代码目录来保存测试代码
4.测试类的包应该和被测试类保持一致
5.测试单元中的每个方法都必须可以独立测试,测试方法间不能有任何依赖
6.测试类使用Test作为类名的后缀(非必须)
7.测试方法使用test作为方法名的前缀(非必须)
1.@BeforeClass修饰的方法会在所有方法被调用前被执行,
方法是静态的,当测试类被加载后就会运行它,而且在内存中只会存在一份实例,比较适合加载配置文件。
2.@AfterClass所修饰的方法会在所有方法被调用后被执行,通常用来对资源的清理,如关闭数据库的连接
3.@Before和@After会在每个测试方法被调用的前后各执行一次。
三、Junit常用注解
1.@Test:将一个普通的方法修饰成为一个测试方法
2.@Test(expected=XXX(异常类).class)
3.@Test(timeout=毫秒 )
4.@Ignore:所修饰的测试方法会被测试运行器忽略
5.@RunWith:可以更改测试运行器org.junit.runner.Runner
四、Junit套件的使用
@RunWith(Suite.class) //将测试类改为测试套件类
@Suite.Suite.class({TaskTest1,TaskTest2...}) //用数组的形式将测试的类添加到测试套件中
publicclassSuiteTest{
//要用public修饰,套件测试类要为空。不能有方法。
}
1.测试套件:批量运行测试类
2.测试套件的入口类不包含其他的方法
3.更改测试运行器Suite.class
4.将要测试的类作为数组传入到Suite.SuiteClasses({})
五、Junit的参数化设置
1.更改默认的测试运行器为Runwith(Parameterized.class)
2.声明变量存放预期值和结果值
3.声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
4.为测试类声明一个带有参数的公共构造函数,并在其中为声明变量赋值
总结: