突变测试遇到的一个问题是它很慢,因为默认情况下,您会为每个生成的突变执行完整的测试运行(测试文件或一组测试文件)。
使突变测试更快的一种方法是在遇到单个故障时停止对给定突变体的测试运行(但仅在突变测试期间)。更好的办法是让突变测试者记住第一个杀死最后一个突变体的测试是什么,然后把它首先交给下一个突变体。ruby 中有什么东西可以做这些事情,或者我最好的选择是开始猴子补丁?
(是的,我知道单元测试应该很快。并且显示所有失败的测试在突变测试之外很有用,因为它不仅可以帮助您识别出问题所在,还可以查明哪里出了问题)
编辑:我目前正在使用带有测试/单元的 heckle。如果测试/单元无法记住在运行之间哪些测试失败,也许 heckle 或运行 heckle 的东西可以记住它。