软件测试之JUnit单元测试 xxxggg

  • 软件测试分类
    1. 黑盒测试:不需要考虑程序内部是如何实现的,只是测试程序说明书上所说的功能是否都实现了。
    2. 白盒测试:知道程序内部是如何实现的,通过程序内部的具体实现逻辑来设计测试用例,测试程序在各种极端情况下是否正常运行。(JUnit属于白盒测试)
  • JUnit的使用
    • 步骤
    1. 定义一个测试类(测试用例)

       - 建议:
       - 测试类的类名:被测试类的类名+Test,如CalculatorTest
       - 测试类所在的包名:公司域名倒置.test,如com.alibaba.test
      
    2. 定义测试方法(和普通的实例方法没什么区别)

       - 建议:
       - 方法名:test+被测试的方法的方法名,如testPlus()
       - 返回值:void
       - 参数列表:没有参数
      
    3. 给方法加@Test

    4. 导入JUnit依赖环境

    • 判定结果
      • 绿色:测试成功
      • 红色:测试失败
      • 使用断言来判定程序的运行结果符不符合我们的期望
    • 补充
      • @Before修饰的方法会在测试方法执行之前先被执行,一般用于资源的申请
      • @After修饰的方法会在测试方法执行之后被执行,一般用于资源的释放
  • 最后放上代码案例
package com.dwb.junitstudy;

public class Calculator {

    public int plus(int a, int b) {
//        return a + b;
        return a - b;
    }

    public int sub(int a, int b) {
        return a - b;
    }
}

package com.dwb.junitstudy.test;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class CalculatorTest {

    // 初始化方法:用于资源申请,所有的测试方法执行之前都会先执行该方法
    @Before
    public void init() {
        System.out.println("init...");
    }

    // 释放资源方法:所有测试方法执行完毕后,都会自动执行该方法
    @After
    public void close() {
        System.out.println("close...");
    }


    // JUnit测试方法
    @Test
    public void testPlus() {
        Calculator calculator = new Calculator();

        int result = calculator.plus(3, 1);

        Assert.assertEquals(4, result);
    }


    @Test
    public void testSub() {
        Calculator calculator = new Calculator();

        int result = calculator.sub(3, 1);

        Assert.assertEquals(2, result);
    }
}

你可能感兴趣的:(JavaSE)