0
点赞
收藏
分享

微信扫一扫

Junit单元测试-1引入概念

殇感故事 2022-02-23 阅读 82
  • 黑盒测试(功能测试)vs白盒测试(结构测试)
  • Junit单元测试属于白盒测试
package msb.javase.oop.javase_220223_c_junit;

public class Calculator {
    public int add(int a, int b){
        return a+b;
    }
    public int sub(int a, int b){
        return a-b;
    }
}

package msb.javase.oop.javase_220223_c_junit;

public class Test {
    public static void main(String[] args) {
        Calculator cal = new Calculator();
        int x = cal.add(1,2);
        System.out.println(x);
        int y = cal.sub(2,1);
        System.out.println(y);
    }
}

一般我们把测试和业务逻辑分离,分离为不同的包
测试类的名字:*Test
测试方法的定义–》这个方法可以独立运行,不依托于main方法

  • 名字:testAdd() testSub() 见名知意
  • 参数:无参 独立运行
  • 返回值:void 独立运行

测试方法定义之后,必须加入注解@Test,才可以独立运行
导入Junit的依赖环境

package msb.javase.oop.javase_220223_c_junit.test;

import msb.javase.oop.javase_220223_c_junit.logic.Calculator;
import org.junit.Test;

public class CalculatorTest {
    @Test
    public void testAdd(){
        System.out.println("he");
        Calculator cal = new Calculator();
        int result = cal.add(20,20);
        System.out.println(result);
    }
    @Test
    public void testSub(){
        System.out.println("him");
        Calculator cal = new Calculator();
        int result = cal.sub(20,20);
        System.out.println(result);
    }
}

即使结果为绿色效果,也不意味着测试通过,因为代码逻辑可能出问题
解决:加入断言

package msb.javase.oop.javase_220223_c_junit.test;

import msb.javase.oop.javase_220223_c_junit.logic.Calculator;
import org.junit.Assert;
import org.junit.Test;

public class CalculatorTest {
    @Test
    public void testAdd(){
        Calculator cal = new Calculator();
        int result = cal.add(20,20);
        Assert.assertEquals(20,result);
    }
    @Test
    public void testSub(){
        Calculator cal = new Calculator();
        int result = cal.sub(20,20);
        Assert.assertEquals(0,result);
    }
}


在这里插入图片描述
TODO

举报

相关推荐

0 条评论