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