Java 之 Junit 单元测试

时间:2021-11-01 23:04:00

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:

 public class CalcuatorTest {

     /**
* 初始化方法
* 用于资源申请,所有方法在执行之前都会先执行该方法
*/
@Before
public void init() {
System.out.println("start....");
} /**
* 释放资源方法
* 在所有测试方法执行完后,都会自动执行该方法
*/
@After
public void close() {
System.out.println("end...");
} @Test
public void testAdd() {
// 创建对象
Calculator cal = new Calculator();
// 调用方法
int res = cal.add(3, 4);
//System.out.println(res);
// 使用断言来进行判断
Assert.assertEquals(7,res); // 显示绿色,表示程序成功运行
} @Test
public void testAdd2() {
int res = 3/0; // 显示红色,表示程序存在异常
System.out.println("执行了"); }
}