JUnit学习

JUnit测试

JUnit Test
单元测试:
单元测试是针对最小的功能单元编写测试代码
Java程序最小的功能单元是方法
单元测试就是针对单个Java方法的测试

测试驱动开发TDD:Test-Driven Development

使用Assert断言:
assertEquals
assertArrayEquals
assertNull
assertTrue
assertFalse
assertNotEquals
assertNotNull
如何编写单元测试:
一个TestCase包含一组相关的测试方法
每个测试方法必须完全独立
测试代码必须非常简单
不能为测试代码再编写测试
测试需要覆盖各种输入条件,特别是边界条件

JUnit使用

使用Before和After

Test Fixture

初始化测试资源称为Fixture

@Before和@After:
在@Before方法中初始化测试资源
在@After方法中释放测试资源

@BeforeClass和@AfterClass静态方法:
在执行所有@Test方法前执行@BeforeClass静态方法
在执行所有@Test方法后执行@AfterClass静态方法 理解JUnit执行测试的生命周期

屏幕快照 2018-07-21 下午5.37.26
屏幕快照 2018-07-21 下午5.37.45
屏幕快照 2018-07-21 下午5.38.00
屏幕快照 2018-07-21 下午5.38.09
屏幕快照 2018-07-21 下午5.38.44
屏幕快照 2018-07-21 下午5.38.52
屏幕快照 2018-07-21 下午5.39.07
屏幕快照 2018-07-21 下午5.39.23
屏幕快照 2018-07-21 下午5.39.51
屏幕快照 2018-07-21 下午5.40.36


异常测试

屏幕快照 2018-07-21 下午6.53.53
屏幕快照 2018-07-21 下午6.54.32
屏幕快照 2018-07-21 下午6.54.44
屏幕快照 2018-07-21 下午6.59.30


参数化测试

参数化测试
Parameterized Test

参数化测试可以把测试数据统一管理

可以用测试数据对同一个测试方法反复测试

屏幕快照 2018-07-21 下午7.15.16
屏幕快照 2018-07-21 下午7.15.28
屏幕快照 2018-07-21 下午7.17.07

超时测试

可以为JUnit的单个测试设置超时:

@Test(timeout=1000)
public void testTimeCost() {} timeout单位是毫秒

超时测试不能取代性能测试和压力测试

屏幕快照 2018-07-21 下午7.28.33

屏幕快照 2018-07-21 下午7.28.54
屏幕快照 2018-07-21 下午7.28.57
屏幕快照 2018-07-21 下午7.32.14

posted @ 2018-07-21 19:36  TheAnswerer  阅读(367)  评论(0编辑  收藏  举报