11

我有一段时间没看过这个了,但如果我没记错的话,ant 和 maven 仍然依赖 JUnit 3 进行单元测试(从 maven 2.09 开始,默认的 POM 文件仍然有 JUnit 3.81)。

坚持使用 JUnit 3 而不是使用最新最好的版本是否仍然有意义?我可能会失踪有什么好的理由吗?

4

6 回答 6

9

我认为没有理由坚持使用 3.x 版本。大多数工具与 4.x 兼容已有一段时间了。我坚持使用 3.x 的唯一原因是在 java 1.4 环境中(因为没有其他方法)。

顺便说一句,maven 在 2.1 中切换到 Java 5,所以他们有机会提出 junit 4.x

于 2008-12-01T17:58:35.413 回答
8

与 3.x 相比,JUnit 4 有很多优势。最重要的是您不再需要扩展 TestCase,您的测试方法也不必以“测试”开头。现在都是基于注释的。您还可以添加 Hamcrest 匹配器,它为您提供了一种非常好的和富有表现力的方式来编写测试断言。

但是,如果您被困在 Java-1.5 之前的项目中,您可能不得不坚持使用 JUnit 3.x。

于 2008-12-01T16:19:48.203 回答
6

JUnit 4.x 有一些原因,也有一些反对它。

优点:

  • 注释易于理解并增加可读性。
  • 忽略测试更容易。
  • 您可以随意命名方法。

缺点:

  • 您需要 Java 5(注释)。
  • 可能需要迁移(?)。

我使用 JUnit 4,因为它更好,但这是我个人的看法。

于 2008-12-02T08:59:40.820 回答
4

Ant 没有回复 JUnit 3。

我建议您迁移到新的 JUnit,原因很简单,因为您将看到越来越多的工具和仅适用于 JUnit4 的示例。坚持使用 JUnit3 意味着生活在一个日益缩小的生态系统中。

于 2008-12-01T16:59:52.973 回答
4

Ant 和 Maven 都可以很好地运行 JUnit 4 测试。使用 JUnit 3 的唯一原因是遗留系统:要么您被迫使用 Pre-Java 5 JDK,要么您拥有大量依赖于 JUnit 3 且不支持 JUnit 4 的工具。

于 2008-12-02T09:04:17.957 回答
3

Maven 没有明确绑定到 Junit 3.81。你可以切换到任何你想要的junit版本。如果您正在运行 java 5,我认为您应该至少切换到 4.4 Spring 2.5 与 4.5 不兼容。

于 2008-12-01T13:56:50.130 回答