Junit 单元测试

  测试分类:

    1、黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。

    2、白盒测试:需要写代码。关注程序具体的执行流程。

  Junit 测试:(属于白盒测试)

    步骤

      1、定义一个测试类(测试用例)

        建议

          ① 测试类名:被测试的类名 Test 如 CalculatorTest

          ② 包名:xxx.xxx.xxx.test             如 com.baidu.java.test

      2、定义测试方法:可以独立运行

        建议:

          ① 方法名:  test测试的方法名

          ② 返回值:  void  不需返回值

          ③ 参数列表: 空参,自己执行,无需调用 

          ④ 单元测试的方法都必须是 public

      3、给方法加 @Test 注解。

      4、导入 Junit 依赖环境。

  判定结果:
    绿色:表示成功
    红色:表示失败
    一般使用断言操作来处理结果,即判定期望的值与实际的值进行比较。
Assert.assertEquals(期望的结果,运算的结果);

  

  补充:
    
@ Before :修饰的方法会在测试方法之前被自动执行,是初始化方法,一般用于资源申请

       @ After:修饰的方法会在测试方法之后自动被执行,一般用于释放资源。

    @BeforeClass:会在类初始化阶段完成

    @AfterClass:会在类卸载阶段完成

    @BeforeClass和@AfterClass而且要求方法是静态的,每个类只执行一次。

  Demo:

 

 1 public class CalcuatorTest {
 2 
 3     /**
 4      *  初始化方法
 5      *  用于资源申请,所有方法在执行之前都会先执行该方法
 6      */
 7     @Before
 8     public void init() {
 9         System.out.println("start....");
10     }
11 
12     /**
13      * 释放资源方法
14      * 在所有测试方法执行完后,都会自动执行该方法
15      */
16     @After
17     public void close() {
18         System.out.println("end...");
19     }
20 
21     @Test
22     public void testAdd() {
23         // 创建对象
24         Calculator cal = new Calculator();
25         // 调用方法
26         int res = cal.add(3, 4);
27         //System.out.println(res);
28         // 使用断言来进行判断
29         Assert.assertEquals(7,res);     // 显示绿色,表示程序成功运行
30     }
31 
32     @Test
33     public void testAdd2() {
34         int res = 3/0;                  // 显示红色,表示程序存在异常
35         System.out.println("执行了");  
36 
37     }
38 }

 

posted on 2019-09-20 14:20  格物致知_Tony  阅读(302)  评论(0编辑  收藏  举报