1. 了解Junit
Java中单元测试的工具。注意:IDEA以及集成了Junit框架,所以不需要手动导入了
2. 单元测试【具体的实现步骤】
- 将Junit框架的jar包导入到项目中(IDEA已经集成,直接导入,使用Junit.4的版本)
- 为需要测试的业务类,定义对应的测试类,并为每个业务方法,编写对应的测试方法(必须:公共、无参、无返回值)
- 测试方法上必须声明 @Test 注解,然后在测试方法中,编写代码调用被测试的业务方法进行测试。
- 开始测试:选中测试方法,右击"Junit运行",如果测试通过为绿色,失败为红色
@Test
public void testPrintNumber() {
StringUtil.printNumber("admin");
StringUtil.printNumber("");
StringUtil.printNumber(null);
}
3. 断言机制
public static void assertEquals(String message, long expected, long actual)
参数 | 说明 |
---|---|
message | 如果断言预测值与实际值不一致的提示信息 |
expected | 预测值 |
actual | 实际值 |
@Test
public void testGetMaxIndex() {
int index = StringUtil.getMaxIndex("root");
System.out.println(index);
// 断言机制:程序员可以通过预测业务方法的结果
// String message 如果断言预测值与实际值不一致的提示信息
// long expected 预测值
// long actual 实际值
Assert.assertEquals("方法出现问题!",5, index);
}
4 . 自动化测试
自动化测试可以对测试类进行测试,也可以对整个项目进行测试
- 对测试类中的全部测试方法进行测试
* 对整个项目中的测试方法进行测试
5. 常用注解【Junit 4.xxx版本】
注解 | 说明 |
---|---|
@Test | 测试类中的方法必须用它才能称为测试方法,才能启动执行 |
@Before | 修饰实例方法,该方法会在每一个测试方法执行之前执行一次 |
@After | 修饰实例方法,该方法会在每一个测试方法执行之后执行一次 |
@BeforeClass | 修饰静态方法,该方法会在所有测试方法之前只执行一次 |
@AfterClass | 修饰静态方法,该方法会在所有测试方法之后只执行一次 |
在测试方法执行之前执行,常用于:初始化资源
在测试方法执行之后执行,常用于:释放资源
@Before
public void testBefore() {
System.out.println("------ testBefore执行了 ------");
}
@BeforeClass
public static void testBeforeClass() {
System.out.println("------ testBeforeClass执行了 ------");
}
@After
public void testAfter() {
System.out.println("------ testAfter执行了 ------");
}
@AfterClass
public static void testAfterClass() {
System.out.println("------ AfterClass执行了 ------");
}
@Test
public void testPrintNumber() {
StringUtil.printNumber("admin");
StringUtil.printNumber("");
StringUtil.printNumber(null);
}