junit单元测试

1、junit是什么?

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

注意:Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能


junit官网地址:https://junit.org/  目前最新版本junit5

2、Junit 能做什么?
使用 Junit 能让我们快速的完成单元测试。
  通常我们写完代码想要测试这段代码的正确性,那么必须新建一个类,然后创建一个 main() 方法,然后编写测试代码。如果需要测试的代码很多呢?那么要么就会建很多main() 方法来测试,要么将其全部写在一个 main() 方法里面。这也会大大的增加测试的复杂度,降低程序员的测试积极性。而 Junit 能很好的解决这个问题,简化单元测试,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。


3、junit基本使用

创建一个简单的maven项目,引入junit依赖

        
            org.junit.jupiter
            junit-jupiter
            5.9.2
            test
        

new一个Operte类,创建add和sub两个方法,然后右键go to test

junit单元测试_第1张图片

 junit单元测试_第2张图片

 测试方法

结果出现如下的绿色横条,则测试通过,红色横条,则测试失败

junit单元测试_第3张图片

测试相关注解(junit5)

junit单元测试_第4张图片

Test注解属性: 
   a)(expected=XXException.class)如果程序的异常和XXException.class一样,则测试通过
   b)(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class OperateTest {

    private Operate operate;
    @BeforeAll
    public void init(){
        System.out.println("init operate obj");
        operate = new Operate();
    }
    @BeforeEach
    public void doOther(){
        System.out.println("do other ....");
    }

    @Test
    void add() {
        int sum = operate.add(1, 2);
        System.out.println(sum);
    }

    @Test
    void sub() {
        int sum = operate.sub(1, 2);
        System.out.println(sum);
    }
}

你可能感兴趣的:(#,java基础语法,junit,单元测试,java)