使用JUnit 3.x和JUnit 4.x运行测试仍然是最佳实践吗?

agn*_*nul 11 java junit unit-testing

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

坚持使用JUnit 3而不是使用最新最好的产品仍然有意义吗?我可能会失踪的任何好理由?

Som*_*tik 9

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

顺便说一句,maven在2.1中切换到Java 5,因此他们有可能提出junit 4.x


Joe*_*son 8

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

如果你坚持使用Java-1.5之前的项目,你可能不得不坚持使用JUnit 3.x.


gue*_*rda 6

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

优点:

  • 注释易于理解并提高可读性.
  • 忽略测试更容易.
  • 您可以根据需要命名方法.

缺点:

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

我使用JUnit 4,因为它更好,但这是我个人的意见.