我想知道在运行JUnit3-Test或JUnit4-Test中是否有区别。即使总运行时间仅提高了5-10%,在一个每晚进行构建的大型项目中,这也可能很重要。

子任务是:


TestRunner在Junit4的更新上是否有所改进?
还是用JUnit4样式解析@annotation需要更长的时间?
对JUnit4执行的JUnit3书面测试有好处吗?


如果可能,请提供参考答案。

最佳答案

我怀疑,鉴于JUnit所做的事情(主要是为人们提供编写测试的框架),这些差异(如果有的话)可以忽略不计。与大多数性能问题和查询一样,您可能应该针对特定情况自己进行测量。

我过去看到的任何测试性能问题都与开发人员如何编写实际测试以及他们是否处理以下问题有关:


预先为一组测试设置先决条件,而不是为每个单独的测试执行设置(例如,参见@BeforeClass
在可能更喜欢模拟的情况下执行对远程资源(服务器,数据库等)的访问
围绕线程问题编写测试,并穿插Thread.sleep()以允许调度问题


如果您真的关心测试框架的速度,那么也许您还应该评估TestNG

08-18 11:50