我有一段时间没有看过这个,但如果我没记错,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
JUnit 4比3.x有很多优点.最重要的是你不再需要扩展TestCase,你的测试方法也不必以"test"开头.它现在都是基于注释的.您还可以添加Hamcrest匹配器,它为您提供了一种非常好且富有表现力的编写测试断言的方法.
如果你坚持使用Java-1.5之前的项目,你可能不得不坚持使用JUnit 3.x.
JUnit 4.x有一些原因,有些则反对它.
优点:
注释易于理解并提高可读性.
忽略测试更容易.
您可以根据需要命名方法.
缺点:
您需要Java 5(注释).
迁移可能需要(?).
我使用JUnit 4,因为它更好,但这是我个人的意见.