问题描述
大约 6 年前,我看过一篇关于 Gem 的演示文稿,它可以改进您的测试(在本例中是 rspec 规范)。
gem 会多次重新运行您的所有规范(如果我没记错的话,n+1)并在后台更改变量值。然后它会期望测试仍然成功(或失败,取决于更改),以防结果不同,测试被认为“有待改进”,因为您可能会得到意想不到的结果。
gem 的整个想法是证明您的 100% 代码覆盖率,并不是真正的 100% 代码覆盖率。虽然遗憾的是我忘记了宝石的名称,但我希望你可能知道我要问的宝石。
提前致谢。
解决方法
我认为您正在寻找的宝石是 mutant
。它正在操纵部分代码以检查规范是否涵盖了边缘情况。
查看Github Repository