java 单元测试

不使用单元测试是怎么样的

比如下面这个计算器类我要测试add方法是否正确

/*
* 计算器类
* */
public class Calculator {
    public int add (int a,int b){
        return a+b;
    }
}

那么就这么写呗,如果正确的话,那么就删掉下面的代码

public class main {
    public static void main(String[] args) {
        Calculator c=new Calculator();
        int res=c.add(1,1);
        System.out.println(res);
    }
}

有什么问题?

  • 1 测试代码不能保留
  • 2 测试纯肉眼观测,容易出错

单元测试@Test

在方法上添加@Test即代表为测试方法,可单独执行 注意要引入junit的包

public class CalculatorTest {
    /*
    * 测试add方法
    * */
    @Test //加上Test代表为测试方法
    public void testAdd(){

        Calculator c=new Calculator();

        int res=c.add(1,1);

        System.out.println(res);
        
    }
}

打印输出还是容易看错,一般使用断言来判断

Assert.assertEquals(2,res) //(期望值,实际值)

编辑器会自动告诉你是否成功,而不用肉眼观测,且可保留测试代码
在这里插入图片描述在这里插入图片描述
使用建议

  • 1 返回值为void (只是测试不需要返回值,你也不用)
  • 2 参数为空 (只是测试不需要参数,你也不会去调用)
  • 3 命名为test+要测试的方法

其他 @Before和@After

对于这些测试方法可能每次执行都会有相同的操作,比如IO流中每次都要开关资源。对于这些操作可以使用Before和After。

  • @Before 测试方法执行之前会先执行这个方法
  • @After 测试方法执行之后会执行这个方法
public class CalculatorTest {

    @Before
    public void init(){
        System.out.println("初始化资源");
    }
    @After
    public void close(){
        System.out.println("释放资源");
    }
    @Test 
    public void testAdd(){
        System.out.println("测试方法testAdd");
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值