【问题标题】:Updating junit gives compilation error at @Rule and TestName更新 junit 在 @Rule 和 TestName 处产生编译错误
【发布时间】:2016-07-14 05:59:51
【问题描述】:

一直在使用 @Rulejunit 使用 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();

包 org.junit.rules 不存在

找不到符号 [ERROR] 符号:类规则 [ERROR] 位置:包 org.junit

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

【问题讨论】:

    标签: java maven junit junit4 rule


    【解决方案1】:

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

    @Rule 是在4.7 版本的junit 中引入的,因此无法找到。

    现在junit 最稳定的版本是4.12,至少这是你在maven repository 中能找到的最新版本。但是,junit5 是在 7.7.2016 引入的,如果您应用此依赖项,则可以使用它:

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

    【讨论】:

    • 我的错,只是假设4.12类似于4.1.2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多