标签归档:单元测试

Java中单元测试框架jUnit的基本使用

  • 单元测试一般写在一个单独的包内;

  • 单元测试的类名对应被测试的类名+Test,如:Person –> PersonTest;

  • 单元测试的方法名对应test+被测试的方法名,如:method –> testMethod;

  • 单元测试的方法一般无参无返回值;

  • 测试方法中使用断言来检测预期结果;

  • 单元测试的方法上加注解@Test,需要导入jUnit框架;

  • 单元测试类中一般饮食@Before和@After注解的方法,这两个方法会分别在测试的前后调用

    被测试的类:

    package com.yusian.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 com.yusian.test;
    
    import com.yusian.junit.Calculator;
    import org.junit.After;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    
    public class CalculatorTest {
    
      @Before // Before可用于资源的申请,对应的是After
      public void init() {
          System.out.println("测试开始前执行...");
      }
    
      @Test
      public void testAdd() {
          Calculator c = new Calculator();
          int ret = c.add(1, 2);
          // System.out.println(ret);
            // 使用断言来判断结果是否与预期一致,如果不一致将显示测试失败
          Assert.assertEquals(3, ret);
      }
    
      @Test
      public void testSub() {
          Calculator c = new Calculator();
          int ret = c.sub(4, 4);
          // System.out.println(ret);
          Assert.assertEquals(0, ret);
      }
    
      @After // After用于资源的释放,对应的是Before
      public void dealloc() {
          System.out.println("测试结束后执行...");
      }
    }