0

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

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

4

1 回答 1

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仅当我按下时(或任何其他可能的方式,但仅在我需要时)才应包含集成测试。

有什么想法吗?

于 2012-05-15T18:18:00.990 回答