更新 junit 在@Rule 和 TestName 处出现编译错误

Updating junit gives compilation error at @Rule and TestName

一直在使用 @Rule,从 junit 使用 4.12。不过今天更新到4.5

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.5</version>
    </dependency>

上编译代码时出错
@Rule
public TestName name = new TestName();

package org.junit.rules does not exist

cannot find symbol [ERROR] symbol: class Rule [ERROR] location: package org.junit

这个被删除了吗?有什么替代品吗?

从版本 4.12 移动到 4.5 感觉更像是降级而不是更新。

@Rule是在junit4.7版本中引入的,因此找不到。

现在 junit 最稳定的版本是 4.12,至少这是你能找到的最新版本 maven repository. However, junit5 于 7.7.2016 推出,你可以使用如果您应用此依赖项:

<dependency>
   <groupId>org.junit</groupId>
   <artifactId>junit5-api</artifactId>
   <version>5.0.0-SNAPSHOT</version>
   <scope>test</scope>
</dependency>