【问题标题】:maven-failsafe-plugin: how to pass option to JUnit?maven-failsafe-plugin:如何将选项传递给 JUnit?
【发布时间】:2011-09-18 04:22:44
【问题描述】:

我使用maven-failsafe-plugin 运行我的集成测试。当它失败时,我会看到完整的堆栈跟踪。对于每个失败的测试用例,它可能有大约 50 行,其中大部分与 Junit 相关。我发现 Junit 有 filtertrace 选项允许剥离部分堆栈跟踪,但我不知道如何将此选项传递给 Junit?

我还尝试了maven-failsafe-plugintrimStackTrace 选项,但它并没有改变失败测试的输出。

是否可以将 filtertrace 选项从插件传递给 Junit? (不使用maven-antrun-plugin 或类似插件。)

【问题讨论】:

    标签: maven junit maven-failsafe-plugin


    【解决方案1】:

    第一件事是您使用哪个版本的故障安全插件和 JUnit?您是如何尝试配置 trimStackTrace 选项的,因为 trimStackTrace 选项默认为 true。

    <plugins>
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.9</version>
          <configuration>
             <trimStackTrace>true</trimStackTrace>
          </configuration>
       </plugin>
    </plugins>
    

    您是否尝试过配置 systemPropertiesFile 以将 filtertrace 传递给 JUnit。

    【讨论】:

    • 我使用junit 4.8.2 在你回答之前我使用maven-failsafe-plugin 没有指定版本,因为我预计maven 将使用最新版本(这是我的错误)。但现在我明确指定了它,就像在你的例子中一样,但没有任何改变。顺便说一句,我认为trimStackTrace 选项有另一个目的:如果堆栈跟踪有许多相互链接的异常,那么它只显示一个异常。不是吗?我不尝试systemPropertiesFile,但我尝试systemPropertyVariables 并没有帮助,因为它将属性传递给Junit 的测试,而不是Junit。
    【解决方案2】:

    maven-failsafe-plugin(和maven-surefire-plugin)包含bug when trimStackTrace has no effect on JUnit 4.x 它已在 2.13 版中修复,所以在我的情况下,我应该将插件更新到新版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 2012-05-11
      • 1970-01-01
      • 2011-10-11
      • 2012-02-11
      • 2019-05-23
      相关资源
      最近更新 更多