通过junit框架去进行测试,junit框架的常用注解
1.分别编写对应的测试方法(较为笨重,且不精准)该类中有两个方法对两个方法进行测试,首先建造一个测试类(类命使用被测试类的类名加test)
然后对业务方法分别编写测试方法(方法名用被测试的方法名加test)然后通过被测试类调用要测试的方法然后传入对应类型的参数(需要考虑比较极端的范围例如null)然后右键run 方法通过则控制台出现对应的结果,若出现bug则爆红。
2.断言(即编写完测试代码后预测会出现的结果,如果与预测一直则控制台爆绿,反之则爆红,有bug)
实现方式调用junit类中Assert.assertEquals的方法
Assert.assertEquals(message(“若出现错误出现的文字提示”),expected:(预测的结果),(对应的方法名))
如图中的getMaxIndex方法,执行起来没有代码上的错误,但是与我们的需求不一直。若只是通过简单的方法去测试是不严谨的。通过断言预测我们想要的结果才是比较好的一种方式。例如上面的代码通过断言可以发现最大索引应该是data.length-1才是我们要的结果,从而修改代码减少bug。
3.@before 和 @beforeclass @after和@afterclass的区别
一个是在每次方法使用前后都要执行 一个是在所有方法前后各执行一次
@before和@beforeclass 用于初始化资源 @after和@afterclass用于释放资源
在所有测试方法都需要的同一个资源时 我们使用@beforeclass和@afterclass
在所有测试方法需要的都是独立的资源时,我们使用的是@before和@after