当我按^ C时,如何使自动测试仅运行集成测试

时间:2012-04-14 14:38:47

标签: ruby-on-rails ruby autotest

自动测试中是否有任何钩子可以使它像这样工作:跳过运行集成测试(因为它们很慢),除非我按^C来运行所有这些?

作为额外的奖励,如果我修改特定的集成测试,它应该通常由自动测试运行。

1 个答案:

答案 0 :(得分:1)

一个月过去了,没有答案,所以我只是发布我暂时解决问题的方法。 任何真正的解决方案仍然受到赞赏。

现在,我正在运行这样的自动测试:

autotest -w -f -c

这些选项意味着:

-f, --fast-start                 Do not run full tests at start
-c, --no-full-after-failed       Do not run all tests on red->green
-w, --warnings                   Turn on ruby warnings

因此,每当我触摸任何文件时,autotest都会运行测试,当出现问题时,它会一直运行测试直到它被修复,但之后就没有完整的测试运行了。当我觉得准备好运行整个套件时(例如在提交之前),我按下^C(完整的套件需要大约8分钟才能通过)。

这对我有用,但并不完美。我不想使用-c选项,并且在red-> green上运行完整套件(但没有集成测试)。只有当我按^C时(或者如果可能的话,只有在我需要的时候,才会包含集成测试)。

有什么想法吗?