我有一段时间没看过这个了,但如果我没记错的话,ant 和 maven 仍然依赖 JUnit 3 进行单元测试(从 maven 2.09 开始,默认的 POM 文件仍然有 JUnit 3.81)。
坚持使用 JUnit 3 而不是使用最新最好的版本是否仍然有意义?我可能会失踪有什么好的理由吗?
我有一段时间没看过这个了,但如果我没记错的话,ant 和 maven 仍然依赖 JUnit 3 进行单元测试(从 maven 2.09 开始,默认的 POM 文件仍然有 JUnit 3.81)。
坚持使用 JUnit 3 而不是使用最新最好的版本是否仍然有意义?我可能会失踪有什么好的理由吗?
我认为没有理由坚持使用 3.x 版本。大多数工具与 4.x 兼容已有一段时间了。我坚持使用 3.x 的唯一原因是在 java 1.4 环境中(因为没有其他方法)。
顺便说一句,maven 在 2.1 中切换到 Java 5,所以他们有机会提出 junit 4.x
与 3.x 相比,JUnit 4 有很多优势。最重要的是您不再需要扩展 TestCase,您的测试方法也不必以“测试”开头。现在都是基于注释的。您还可以添加 Hamcrest 匹配器,它为您提供了一种非常好的和富有表现力的方式来编写测试断言。
但是,如果您被困在 Java-1.5 之前的项目中,您可能不得不坚持使用 JUnit 3.x。
JUnit 4.x 有一些原因,也有一些反对它。
优点:
缺点:
我使用 JUnit 4,因为它更好,但这是我个人的看法。
Ant 没有回复 JUnit 3。
我建议您迁移到新的 JUnit,原因很简单,因为您将看到越来越多的工具和仅适用于 JUnit4 的示例。坚持使用 JUnit3 意味着生活在一个日益缩小的生态系统中。
Ant 和 Maven 都可以很好地运行 JUnit 4 测试。使用 JUnit 3 的唯一原因是遗留系统:要么您被迫使用 Pre-Java 5 JDK,要么您拥有大量依赖于 JUnit 3 且不支持 JUnit 4 的工具。
Maven 没有明确绑定到 Junit 3.81。你可以切换到任何你想要的junit版本。如果您正在运行 java 5,我认为您应该至少切换到 4.4 Spring 2.5 与 4.5 不兼容。