当前位置:   article > 正文

Junit概念理解从小白到熟练,java基础知识点_java juniter 详解

java juniter 详解

Junit

一、Junit概念:

​ JUnit是一个Java语言的单元测试框架。可以给出成功的测试和失败的测试,还可以生成测试报告,不仅可以统计测试的成功率,还可以统计测试的代码覆盖率,对于高质量的代码,测试覆盖概率要在80%以上。

单元测试:

​ 针对最小功能单元编写测试代码;java中最小功能单元是方法,Java单元测试针对的是方法的测试

二、使用

1.引入junit依赖

 <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-params</artifactId>
    <version>5.6.2</version>
    <scope>test</scope>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.方法上加@Test注解,表明此方法为测试方法常用

Assertion中的断言方法
  • ​ ssertEquals :验证是否相等

  • ​ assertTrue:期待结果为true

  • ​ assertFalse:期待结果为false

  • ​ assertNotNull:期待结果非null

  • ​ assertArrayEquals:期待结果为数组,并且每个元素的值均相等

  • ​ …

三、示例

运行代码

package junit;

import org.junit.jupiter.api.Test;

public class JunitTest {
   private  long n =0;
   public long add(long x){
      n=n+x;
      return n;
   }
   public  long sub (long x){
      n=n-x;
      return  n;
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

测试代码

package junit;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

public class FachTest {

    JunitTest junitTest;

     @BeforeEach
    public  void  setup(){
     this.junitTest= new JunitTest();
     }
     @AfterEach
    public  void  tearDown(){
          this.junitTest=null;
     }

     @Test
    void setJunitTest(){
        Assertions.assertEquals(100,this.junitTest.add(100));
        Assertions.assertEquals(200,this.junitTest.add(100));
        Assertions.assertEquals(150,this.junitTest.sub(50));
     }
    @Test
     void  getJunitTest(){
         Assertions.assertEquals(-100,this.junitTest.sub(100))
         ;
         Assertions.assertEquals(-150,this.junitTest.sub(50))
         ;
         Assertions.assertEquals(-130, this.junitTest.sub(-20));
     }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

四、异常示例:

package junit;

public class MessageUtil {

    private String message;

    MessageUtil(String message){
        this.message = message;
    }
    //    打印message
    public String printMessage(){
        System.out.println("MessageUtil类中printMessage()方法中的输出信息:"+message);
        int a=0;
        int b = 1/a;
        return message;
    }

    //    打印添加内容后的message
    public String salutationMessage(){
        message = "Add"+message;
        System.out.println("MessageUtil类中salutationMessage()方法中的输出信息:"+message);
        return message;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
package junit;

import org.junit.jupiter.api.Test;

public class TestJunit {
    String message = "测试信息";
    MessageUtil messageUtil = new MessageUtil(message);
    @Test(expected = ArithmeticException.class)
    public void testPrintMessage() {
        System.out.println("对PrintMessage()方法返回的值进行测试");
        assertEquals(message,messageUtil.printMessage());

    }

    @Test
    public void testsalutationMessage(){
        System.out.println("对salutationMessage()方法返回的值进行测试");
        message = "Add"+message;
        assertEquals(message,messageUtil.salutationMessage());
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;


public class TestRunner {
    public static void main(String[] args) {
        Result result = JUnitCore.runClasses(TestJunit.class);

        for(Failure failure:result.getFailures()){
            System.out.println(failure.toString());
        }
        System.out.println(result.wasSuccessful());
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号