10.Java的单元测试
一.Junit单元测试
1.测试分类:
- 白盒:不需要写代码,给输入值看程序是否能够输出期望值即可。
- 黑盒:需要写代码,关注程序具体执行流程。
2.Junit使用:
使用步骤:
- 定义一个测试类:类名后加Test
- 定义一个测试方法:可以独立运行
- 方法名:test加方法名
- 返回值:void
- 参数列表:空参
- 给方法加@Test
- 导入Junit依赖环境
判定结果:
- 红色:失败
- 绿色:成功
- 一般我们会使用断言操作来处理结果:Assert.assertEquals(期望的结果,运行的结果)
补充:
- @Before:修饰的方法会在测试的代码之前被自动执行,目的是用于资源申请。
- @After:修饰的方法会在测试的代码之后被执行,目的是用于资源释放。
- 无论执行成功或失败,这两个方法都会执行。
主程序定义了add1和add2两个方法
1 public class demo01 { 2 3 public int add1(int a, int b) { 4 return a + b; 5 } 6 7 public int add2(int a, int b) { 8 return a * b; 9 } 10 }
测试程序:
1 public class demo01Test { 2 3 @Before 4 public void init() { 5 System.out.println("init方法执行,用于申请资源"); 6 } 7 8 @After 9 public void close() { 10 System.out.println("close方法执行,用于释放资源"); 11 } 12 13 @Test 14 public void testAdd1() { 15 demo01 d = new demo01(); 16 int result = d.add1(1, 2); 17 Assert.assertEquals(3, result); 18 } 19 20 @Test 21 public void testAdd2() { 22 demo01 d = new demo01(); 23 int result = d.add2(1, 2); 24 Assert.assertEquals(3, result); 25 } 26 }
执行结果:testAdd1执行成功,testAdd2执行失败