junit4

2017-07-14  本文已影响21人  battle_

eclipse可以通过build path引入junit包

image.png junit test case image.png

下一步,选择要测试的方法

next

完成,系统会自动生成一个junit测试文件

test

看一下该类引用的内容,以后可以自己创建测试类

import

里面包含空的测试方法,需要自己去写用例

用例

执行run as的junit Test
会出现测试结果

junit result

控制台输出

console

测试了四个方法,setup触发了四次。
结果只有第一个方法通过。理论上每个方法若是单独测试第二个方法也会通过。应该是实例只有一个,而result一直有缓存值的问题。
测试方法之间对待测试类的改变并不是独立的隔离状态
setUp在调用每个方法之前都会触发一次,应该是在测试方法前对类进行一些统一初始化用。
修改测试类,将待测试类实例化放置setup方法内试试。

image.png

失败

image.png

猜测:难道只能保持一个活跃实例,先在待测试类增加一个重置变量result的方法,使得在测试方法前初始统一。

image.png

然后setup方法调用

image.png

结果测试正确

image.png

multiply是个未完成方法怎么办?
不对方法进行测试,或者使用@ignore标签

junit 标签 image.png

结果

image.png

类标签@Runwith为测试类指定特殊的Runner,一个类只能用一个runner
例如:
同一个方法,测试不同的边界参数,可使用@RunWith(Parameterized. class )

parameterized

如果有多个测试类,想一起执行测试,可以使用@RunWith(Suite. class)
且一起使用标签@SuiteClasses进行管理本次执行测试的类有哪些

suite

测试结果

image.png

与mockito配合使用的文章

上一篇 下一篇

猜你喜欢

热点阅读