【问题标题】:MojoFailureException AssertError using maven installMojoFailureException AssertError 使用 maven 安装
【发布时间】:2014-02-10 20:19:08
【问题描述】:

我编写了一个单元测试,当我在 Eclipse 中运行它时它通过了,但是当我执行“maven install”时它失败了。

我使用 JUnit 4、Mockito 1.9.5、Maven 3.0.4、JRE 1.7._51、Sunfire 2.15。

看似失败的断言是:

assert string1.equals(string2);

【问题讨论】:

  • 要比较字符串的内容还是确保它们在字符串池中相同?
  • 如果没有更多的源代码,我只想说字符串不相等。
  • 请发布您的测试代码。
  • 我将删除所有代码和错误消息,因为它没有意义。
  • 请将 'assert string1.equals(string2)' 更改为 'assertEquals(string1, string2)'。这应该会给你更多提示为什么测试失败。

标签: maven mockito maven-surefire-plugin


【解决方案1】:

回答

Java 关键字assert 必须激活才能工作。

它们可以在运行时通过 java 命令上的 -ea 选项激活,但默认情况下不启用。

一些建议

字符串比较使用equals

assert string1.equals(string2)

在测试中使用junit assertions

assertEquals(string1, string2)

为了获得最佳结果,请使用 AssertJ - 用于 java 的流利断言

assertThat(string1).isEqualTo(string2);

【讨论】:

  • 谢谢!我忘了这个...但是使用 maven install 测试仍然失败。
  • 发布 maven 版本、surefire 版本和测试代码,然后我们可以帮助您:)
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
  • 2021-09-15
  • 2013-06-16
  • 1970-01-01
相关资源
最近更新 更多