junit单元测试总结
junit单元测试总结
《JUnit 中常见的断言指令及示例》
第一参数都可以为提示信息
在 JUnit 测试框架中,断言指令用于验证程序的预期行为和实际行为是否一致。当断言失败时,JUnit 会抛出 AssertionError 异常,从而标记测试用例失败。下面为你介绍 TestMD.java 文件中使用到的以及其他常见的断言指令:
1. assertEquals
- 功能:用于比较两个值是否相等。如果这两个值不相等,测试就会失败。
- 语法:
|
assertEquals(expected, actual); |
- 示例:
|
assertEquals(MyDateNew.maxDay(2000, 2), 29); |
这里是将 MyDateNew.maxDay(2000, 2) 方法的返回值(实际值)和 29(预期值)进行比较,验证 2000 年 2 月的最大天数是否为 29。
2. assertTrue
- 功能:用于验证一个布尔表达式是否为 true。若表达式为 false,测试将失败。
- 语法:
|
assertTrue(condition); |
- 示例:
|
assertTrue(MyDateNew.maxDay(2000, 13)<1); |
此代码验证 MyDateNew.maxDay(2000, 13) 的返回值是否小于 1,以此检查 maxDay 方法对无效月份(13 月)的处理是否正确。
3. assertFalse
- 功能:用于验证一个布尔表达式是否为 false。若表达式为 true,测试会失败。
- 语法:
|
assertFalse(condition); |
- 示例:在 testIsLeap 方法中,有类似的使用逻辑:
|
assertFalse(MyDateNew.isLeap(1900)); |
该代码验证 1900 年是否不是闰年,即 MyDateNew.isLeap(1900) 的返回值是否为 false。
4. assertNull
- 功能:用于验证一个对象是否为 null。若对象不为 null,测试将失败。
- 语法:
|
assertNull(object); |
- 示例:在 testNextDate 方法中有如下使用:
|
nd = new MyDateNew(2012, 13, 31).nextDate(); assertNull(nd); |
这里验证 MyDateNew(2012, 13, 31).nextDate() 的返回值是否为 null,以此检查 nextDate 方法对无效日期的处理是否正确。
5. assertNotNull
- 功能:用于验证一个对象是否不为 null。若对象为 null,测试会失败。
- 语法:
|
assertNotNull(object); |
6. assertSame
- 功能:用于验证两个对象引用是否指向同一个对象。若不是同一个对象,测试将失败。
- 语法:
|
assertSame(expected, actual); |
7. assertNotSame
- 功能:用于验证两个对象引用是否不指向同一个对象。若指向同一个对象,测试会失败。
- 语法:
|
assertNotSame(expected, actual); |
8. assertArrayEquals
- 功能:用于比较两个数组是否相等,包括数组的长度和元素值。若不相等,测试将失败。
- 语法:
|
assertArrayEquals(expectedArray, actualArray); |
这些断言指令能帮助开发者有效地编写测试用例,确保代码的正确性和稳定性。
记住做junit测试一定要写pom文件导入junit依赖

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
然后可以在test->java里面写测试代码,不是main里的java,main里那个test目录只是名字取成test与测试没有关系


浙公网安备 33010602011771号