你的单元测试一直运行的速度有多快?

时间:2014-04-25 19:07:08

标签: unit-testing tdd

在某些时候,单位测试的速度将足够快,可以随时运行,并在您开发时通知您任何失败。

速度有多快?

4 个答案:

答案 0 :(得分:2)

在Eclipse中的Java中,我不会一直运行我的整个测试套件。我倾向于在我正在编辑的单个测试类中运行一组测试。只有在我完成后,我才会运行整个套件,并且始终在提交之前。

另一方面,在Visual Studio的c#中,我使用名为NCrunch的连续测试器。它可以配置为在代码更改时运行所有测试,或者只运行自上次运行以来受影响的测试。当您开始使用大型测试套件时,第二个功能非常有用。

答案 1 :(得分:1)

足够快,一旦发生新故障,您就会意识到这一点。但不是那么快,以至于你在开发过程中一遍又一遍地发出故障通知。

通常,您不会“始终”运行测试。而是在代码中的每次更改之后重新运行测试。如果没有任何改变,那么重新运行测试确实没有任何意义,因为你已经知道了测试的结果。

测试的速度应该足以让您的测试运行不会破坏您的开发流程。因此,您不必等待并冲浪以完成测试,然后尝试记住您正在做的事情。

答案 2 :(得分:1)

根据这个post on Games From Within,大概是两秒钟。它还详细说明了他们如何在不到一秒的时间内完成这些工作。

答案 3 :(得分:0)

这真的是个人感觉的问题,但是10秒以上是我开始感到不舒服并且受到妨碍(后来发现这已被注意到by others)。

智能测试运行器,即不运行不受更改影响的测试+运行最可能首先失败的测试是一个很好的帮助。

我还发现连续测试(NCrunch)使我的编程经验更加流畅,因为您不必经历一直启动测试运行的动作。只需要注意偶尔出现的红色条,就会让你大吃一惊。