Junit 5 实现testsuite

通过JUnit5 实现测试套件的功能,需要依赖junit-platform-runner 、junit-jupiter-api和junit-jupiter-engine。

junit-platform-runner:用来执行测试用例和测试套件。

junit-jupiter-api有注解,通过@Test来写测试用例。

junit-jupiter-engine:引擎,在执行测试用例时要用到。

maven依赖如下:

<dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.7.0</version>
        </dependency>

        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-runner</artifactId>
            <version>1.7.0</version>
        </dependency>

junit-jupiter包含了api和engine,见下图,当然你们也可以分开添加
在这里插入图片描述
下面进入正题,如何实现测试套件。

划重点:
在这里插入图片描述
测试类要以Test或Tests结尾,经过我的实验,其实以它们开头也可以,就是说测试类要是下面这样的:
在这里插入图片描述
实现测试套件用
@SelectPackages或@SelectClasses,用法如下.

@SelectPackages

执行该包下面所有的测试类(以Test或Tests结尾的类)中的测试用例。

单个包

@RunWith(JUnitPlatform.class)
@SelectPackages("junit5.examples.packageA") 
public class JUnit5TestSuiteExample 
{
}

多个包

@RunWith(JUnitPlatform.class)
@SelectPackages({"junit5.examples.packageA","junit5.examples.packageB"}) 
public class JUnit5TestSuiteExample 
{
}

@SelectClasses

@RunWith(JUnitPlatform.class)
@SelectClasses( ClassATest.class )
public class JUnit5TestSuiteExample 
{
}
@RunWith(JUnitPlatform.class)
@SelectClasses( { ClassATest.class, ClassBTest.class, ClassCTest.class } )
public class JUnit5TestSuiteExample 
{
}

引入的类如下:

import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.runner.RunWith;

还有一些其他一些注解如@IncludePackages and @ExcludePackages,就不再细说了


版权声明:本文为weixin_42258032原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。