【Java学习记录】 Junit 单元测试

测试的分类

测试可以分为黑盒测试和白盒测试。

黑盒测试

黑盒测试又叫功能测试或基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。完全不考虑程序内部的逻辑结构和内部特性。

白盒测试

白盒测试又称透明盒测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。 Junit 测试就是白盒测试中的一种。

步骤

  1. 定义一个测试类。一般情况下,建议新建的测试类的命名方式为 被测试类的类名加上Test,例如calculatorTest ,存放新建的.test子包中。
  2. 定义测试方法:可以独立运行。建议测试的方法命名为test加上被测试的方法名,返回值建议void,参数列表建议为空参。
  3. 给方法加@Test
  4. 导入 junit 的依赖环境。(在进行完第3步后,光标放在@Test上出现小灯泡,点击第一个就可以导入)

判定结果:

  • 红色:失败
  • 绿色:成功
  • 一般会使用断言操作来处理结果
    • 格式:    assert [布尔型的要判断的条件] :为假的话输出的语句

演示

定义一个待测试的类,计算器类:

package cn.other.annotation.demo;
 
/** 计算器类
 * @author liwenlong
 * @data 2020/3/6
 */
public class calculator {
 
        public int add(int a,int b){
        return a+b;
    }

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

    public int mul(int a,int b){
        return a*b;
    }

    public int div(int a,int b){
        return a/b;
    }

    public void show(){
        System.out.println("今天天气真不错!");
    }
}

测试

public class CalculatorTest {
    /*
    测试add()方法
     */
    @Test
    public void testAdd(){
        //1.创建被测试类的对象
        Calculator cal = new Calculator();
        //2.调用add()方法
        int result = cal.add(1,1);
        System.out.println(result);
    }
}

运行结果:

 问题:如果该add方法我写错了,但是依旧能成功运行,但是运行后输出的结果和我输出的结果不一样怎么样呢?

例如,add方法中,a+b不小心写成了a-b:

进行测试后,依旧输出是绿色,但是1+1的结果是0,不是我想要的2。

此时我们需要在程序中增加一个断言,判断输出的结果是否是我期望的结果。

public class CalculatorTest {
    /*
    测试add()方法
     */
    @Test
    public void testAdd(){
        //1.创建被测试类的对象
        Calculator cal = new Calculator();
        //2.调用add()方法
        int result = cal.add(1,1);
        //3.断言 我断言这个结果应该是2,不是的话输出结果
        assert result==2:"result="+result;
    }
}

此时有了断言,再运行就会检测出错误:

 @Before和@After

@Before:修饰的方法会在测试方法之前被自动执行,可以在此方法中初始化测试资源

@After:修饰的方法会在测试方法执行后被自动执行,可以在此方法中释放资源

发布了169 篇原创文章 · 获赞 101 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/zzu_seu/article/details/104775223