ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Junit单元测试

2022-07-23 12:32:38  阅读:150  来源: 互联网

标签:int Calculator 单元测试 public result 测试 Test Junit


前言

平时在写代码的时候,如果需要测试某个功能我们一般会创建一个Test的测试类,然后写一个main方法,在main方法中测试我们的代码,但是每次需要测试新功能的时候就不得不把原来的测试代码注释掉,或者再写一个Test类,这样很麻烦,建议再测试代码的时候使用Junit测试

Junit使用方法

例子:比如我们现在有一个Calculator,需要测试它里面的 add() 和 sub()。

/**
* @Author superMonkey
* @Date 2022/7/21 23:49
* @Description TODO
*/
public class Calculator {
   /**
    * 相加的方法
    * @param a
    * @param b
    * @return
    */
   public int add(int a, int b) {
       return a + b;
  }

   /**
    * 相减的方法
    * @param a
    * @param b
    * @return
    */
   public int sub(int a, int b) {
       return a - b;
  }
}

 

第一步:

  • 在Calculator类所在包路径的同级目录下面建立一个test的包。

  • 在test的包里面创建一个 测试类名Test 的类,例如CalculatorTest的测试类。

  • 在测试类中创建测试方法,命名 test需要测试的方法名 ,例如testAdd()。

  • 在当前方法的上面加上 @Test 注解,这个注解来自于 org.junit这个包下。

  • 点击运行就可以测试了。

  • 如果需要要测试减法,再旁边再写一个减法的测试方法就可以了

/**
* @Author superMonkey
* @Date 2022/7/21 23:50
* @Description TODO
*/
public class CalculatorTest {

   @Test
   public void testAdd(){
       Calculator calculator = new Calculator();
       int result = calculator.add(2, 5);
       System.out.println(result);
  }
   
  @Test
   public void testSub(){
       Calculator calculator = new Calculator();
       int result = calculator.sub(2, 5);
       System.out.println(result);
  }

}

断言

在上述的测试方法中,如果测试后Idea的界面不出现红色就说明测试通过,但是通过结果来判断测试是否正确是不可靠的,如过方法内部写错,比如,add()方法内部变成了,a -b; 本来是加法,现在却变成了减法,使用Junit测试之后,是可以正常输出结果的,但是结果其实是不正确的。这个时候就需要使用断言。

 @Test
public void testAdd(){
    Calculator calculator = new Calculator();
    int result = calculator.add(2, 5);
    /**
        * 断言就是我先判断方法允许的结果是什么样子,和实际方法的输出做对比。
        * 如果相同,Idea出现绿色,不同出现红色。
        * 下面就是我断言结果是 7 ,但是如果result不是7就是说明add()方法错了。
        */
       Assert.assertEquals(7, result);
       System.out.println();
  }

@Before,@After

@Before , @After是Jnuit提供的两个注解

@Before:在所用的测试方法执行之前需要准备的资源。

@After:在所有的测试方法执行之后需要释放的资源。

public class CalculatorTest {

@Before
public void init() {
    System.out.println("初始话测试需要的资源。。");
}

@Test
public void testAdd(){
    Calculator calculator = new Calculator();
    int result = calculator.add(2, 5);
    Assert.assertEquals(7, result);
    System.out.println();
}

@After
public void close() {
    System.out.println("关闭测试中使用到的资源");
}
}
 

标签:int,Calculator,单元测试,public,result,测试,Test,Junit
来源: https://www.cnblogs.com/superMonkey3306/p/16511726.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有