JUnit 4 vs JUnit 5

注解说明

单元测试方法

功能描述 JUnit 4 JUnit 5
定义方法测试 @Test @Test

区别:
JUnit5中没有声明任何属性,JUnit Jupiter中的测试扩展是基于它们自己的专用注解来完成的。这样的方法会被继承,除非它们被覆盖。
JUnit 4中基于属性来设置,timeout和exception两个属性

类前置方法

功能描述 JUnit 4 JUnit 5
在类所有方法执行之前调用 @BeforeClass @BeforeAll

说明:
单元测试方法包括: @Test/@RepeatedTest
/@ParameteredTest/@TestFactory修饰的方法

类后置方法

功能描述 JUnit 4 JUnit 5
在类所有方法执行之后调用 @AfterClass @AfterAll

说明:
单元测试方法包括: @Test/@RepeatedTest
/@ParameteredTest/@TestFactory修饰的方法

方法级的前置方法

功能描述 JUnit 4 JUnit 5
在每一个单元测试方法之前执行 @Before @BeforeEach

说明:
单元测试方法包括:@Test、@RepeatedTest、@ParameterizedTest或者@TestFactory

方法级的后置方法

功能描述 JUnit 4 JUnit 5
在每一个单元测试方法之后 @After @AfterEach

禁止执行

功能描述 JUnit 4 JUnit 5
禁止执行测试方法 @Ignore @Disabled

声明过滤测试

功能描述 JUnit 4 JUnit 5
过滤测试 @Category @Tag

参数化测试

功能描述 JUnit 4 JUnit 5
参数化测试 @Parameters @ParameterizedTest

运行测试类

功能描述 JUnit 4 JUnit 5
执行测试类 @RunWith @ExtendWith

监控TestCase和外部资源

功能能描述 JUnit 4 JUnit 5
监控/验证 @Rule @ExtendWith

静态变量

功能描述 JUnit 4 JUnit 5
静态变量 @ClassRule @ExtendWith
发布了478 篇原创文章 · 获赞 803 · 访问量 433万+

猜你喜欢

转载自blog.csdn.net/blueheart20/article/details/102055847