关于软件测试:软件测试Junit5-架构新特性及基本使用常用注解与套件执行

28次阅读

共计 1500 个字符,预计需要花费 4 分钟才能阅读完成。

​ 

​编辑

什么是 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.html


https://www.ibm.com/developerworks/cn/java/j-junit5/index.html

正文完
 0