Java JUnit 5 注释的差异
我看到根据JUnit 5用户指南引入了新的JUnit Jupiter。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
我对整个库中使用的同名注释感到困惑。这两者之间有什么显著的区别吗?
org.junit.Test
org.junit.jupiter.api.Test
上面链接页面中的描述对注释进行了如下解释:org.junit.jupiter.api.Test
表示方法是测试方法。与JUnit 4的@Test注释不同,此注释不声明任何属性,因为JUnit Jupiter中的测试扩展基于其自己的专用注释运行。除非重写这些方法,否则将继承这些方法。
据我所知,主要区别在于新的注释属性被替换为专用的注释和方法(例如),与旧的注释和方法不同。assertTimeout(...)
@Test(timeout = 1000)
文档谈到了JUnit 4的旧注释,但是,并没有清楚地解释JUnit 5版本中相同注释的目的,这让我感到惊讶的是没有标记为 - 这意味着在JUnit 5中使用此注释仍然有目的,我是对的吗?org.junit.Test
@Deprecated
我的问题是JUnit 5的目的是什么,为什么它没有被弃用,以及我应该基于上面提到的两个注释之间的选择。org.junit.Test