Java单元测试简介
2019-12-17 本文已影响0人
勿念及时雨
什么是单元测试?
单元测试是对软件或程序的基本(最小)组成单元的测试。
其对象针对的是类和方法。
其特点是可重复执行、执行速度快、相互独立、结果不变。
单元测试的意义
- 使我们更了解需求
- 快速验证
- 方便重构
- 更早发现程序问题
- 目标明确
JUnit4
JUnit4是以org.junit为框架进行的测试,通过注解的方式来识别测试方法。
常用注解
@BeforeClass 全局只会执行一次,而且是第一个运行
@Before 在测试方法运行之前运行
@Test 测试方法
@After 在测试方法运行之后允许
@AfterClass 全局只会执行一次,而且是最后一个运行
@Ignore 忽略此方法
JUnit4使用断言来判断测试是否符合预期结果。
常用Assert断言方法
测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)。
assertEquals(a,b)
测试a是否为false(假),a是一个Boolean数值。
assertFalse(a)
测试a是否为true(真),a是一个Boolean数值。
assertTrue(a)
测试a是否非空,a是一个对象或者null。
assertNotNull(a)
测试a是否为null,a是一个对象或者null。
assertNull(a)
测试a和b是否没有都引用同一个对象。
assertNotSame(a,b)
测试a和b是否都引用同一个对象。
assertSame(a,b)
让测试失败,并给出指定信息。
fail(string)
通过Matcher断言,可以替代其他所有的assert。
assertThat(expected, Matcher)