【问题标题】:Unit tests only fail when run by maven单元测试仅在由 maven 运行时失败
【发布时间】:2016-07-06 06:20:25
【问题描述】:

我目前面临的问题是我的单元测试在 eclipse 运行时通过但在 maven 运行时失败。

这是存储库(+ pom.xml): https://github.com/thorstenwagner/ij-trajectory-classifier

这是构建日志: https://travis-ci.org/thorstenwagner/ij-trajectory-classifier

这是 mvn -v 的输出:

Apache Maven 3.3.9 (NON-CANONICAL_2015-11-23T13:17:27+03:00_root; 2015-11-   23T11:17:27+01:00)
Maven home: /opt/maven
Java version: 1.8.0_92, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk/jre
Default locale: de_DE, platform encoding: UTF-8
OS name: "linux", version: "4.6.3-1-arch", arch: "amd64", family: "unix"

我尝试将我的 java 版本从 1.7 更改为 1.6,但这没有帮助。

感谢任何建议

最好, 托尔斯滕

【问题讨论】:

  • 那么运行一般吗?不使用 Maven?
  • 刚在jidea试过。不运行
  • 是的,它确实可以在eclipse中运行(你可以通过启动TraJClassifier_Debug.java来尝试)
  • 检查了这些测试在哪一行失败,其中之一是:String res = c.classify(sim.generateTrajectory()); ?
  • 是的,我已经检查过了。这很奇怪,因为在 Eclipse 中运行单元测试时,这一行根本不会造成问题:dl.dropboxusercontent.com/u/560426/unittest_pass.png

标签: java eclipse maven unit-testing renjin


【解决方案1】:

正如 Anton Koscejev 在 cmets 中所说: Java 断言在 Eclipse 中默认禁用,但在 maven 中默认启用。我已将 <enableAssertions>false</enableAssertions> 添加到我的 pom.xml 中,它可以工作:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.12.4</version>
  <configuration>
    <reuseForks>false</reuseForks>
    <forkCount>1</forkCount>
    <enableAssertions>false</enableAssertions>
  </configuration>
</plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2023-03-06
    • 1970-01-01
    • 2015-01-04
    相关资源
    最近更新 更多