编辑
什么是 Junit5,在 Junit5 的官网介绍文档中这写到:Junit5 由JUnit Platform + JUnit Jupiter + JUnit Vintage3局部形成,借用 IBM Developer 的一张图来阐明 JUnit 5 的架构:JUnit Platform:JUnit Jupiter:JUnit Vintage:
嵌套单元测试Lambda反对参数化测试反复测试动静测试JUnit 4 与 JUnit 5 中的注解比拟
编辑
1)创立 maven 工程 XUnit,pom.xml中增加Junit5的依赖。2)其余的 XUnit 框架通用的设计运行规定可参考:《如何利用 xUnit 框架对测试用例进行保护》。3)增加用例@Test,再在用例执行前后增加@BeforeEach、@AfterEach:运行后果:4)在测试类执行前后增加@BeforeAll和@AfterAll:测试后果:5)在测试用例test1上退出注解@Disabled,使test1生效。测试后果:从测试后果中咱们能够看到 test1 用例被 ignore,没有被执行。6)别离将test1和test2用@DisplayName加上用例展现名称。测试后果:7)对测试用例2加上注解@RepeatedTest,使其额定反复执行3次:测试后果:从测试后果中咱们能够看到测试用例2被额定反复执行了3次8)对于@Nested嵌套执行举例如下:测试后果:由测试后果能够看出,@Nested的执行程序为先执行@Nested嵌套外层的用例,再以顺叙模式执行@Nested用例,而后再执行第二层嵌套的用例:外层->顺叙嵌套->第二层嵌套。
@RunWith 是从Junit4迁徙过去的,@RunWith 连同它的参数 JUnitPlatform.class(一个基于 JUnit 4 且了解 JUnit Platform 的 Runner)让您能够在 Eclipse 内运行 JUnit Jupiter 单元测试。Eclipse 尚未原生反对 JUnit 5。将来,Eclipse 将提供原生的 JUnit 5 反对,那时咱们不再须要此注解;Junit5官网给出了代替它的注解:
有两个包testcasedemo, junit5demo,利用 @RunWith+@SelectPackages 将包中测试类顺次运行。套件类:测试后果:@RunWith+@SelectPackages+@IncludePackages配合应用过滤出须要执行的测试包testcasedemo.demo2。套件类:测试后果:@RunWith+@SelectPackages+@ExcludePackages配合应用过滤出不须要执行的测试包testcasedemo.demo2。套件类:测试后果:将 junit5demo 包下的 TestJunit5demo 和 testcasedemo.demo2 所有测试类过滤出来并执行。套件类:测试后果:在testcasedemo.demo2.TestDemo2的办法testDemo2上加上注解@Tag:过滤并执行办法testDemo2:套件类:测试后果:Junit5官网:https://junit.org/junit5/docs/current/user-guide/#overviewIBM Developer:https://www.ibm.com/developerworks/cn/java/j-introducing-junit5-part1-jupiter-api/index.htmlhttps://www.ibm.com/developerworks/cn/java/j-junit5/index.html