ruby - 使单元测试快速失败以进行突变测试

标签 ruby unit-testing mutation-testing

mutation testing 遇到一个问题是它很慢,因为默认情况下您会为每个生成的突变执行完整的测试运行(测试文件或一组测试文件)。

加快突变测试的一种方法是,一旦遇到单一故障(但仅在突变测试期间),就停止对给定突变体的测试运行。更好的做法是让变异测试者记住杀死最后一个变异体的第一个测试是什么,并将其首先交给下一个变异体。 ruby 中是否有任何东西可以做这些事情,或者我最好的选择是开始猴子修补?

(是的,我知道单元测试应该很快。显示所有失败的测试在突变测试之外很有用,因为它不仅可以帮助您识别出问题,还可以查明哪里出了问题)

编辑:我目前正在对测试/单元使用 heckle。如果测试/单元不可能记住运行之间哪些测试失败,也许 heckle 或运行 heckle 的东西可以记住它。

最佳答案

最好的方法是查看 heckle source从 github 上打补丁,然后将该补丁提交给开发人员。您应该能够为 heckle 编写自定义测试运行程序。

猴子补丁永远不是解决此类问题的方法。事实上,猴子补丁几乎永远不是任何问题的答案。

关于ruby - 使单元测试快速失败以进行突变测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/754561/

相关文章:

ruby-on-rails - 如何严格检查 Ruby 数组是否仅包含某些值?

ruby - ruby 1.9 中有没有办法从字符串中删除无效的字节序列?

angularjs - Angular、Sinon、Promise

ruby - rspec 和 heckle 的兼容性如何?

rspec2 - 使用突变 gem 对 ActiveRecord 模型进行突变测试

C# Stryker 突变框架

ruby-on-rails - Rails 5. 跟踪模型之间关联的顺序

ruby - 如何在 Ruby 中为 nil 或空字符串编写异常

android - 使用单元测试测试通知

android - 如何基于 Observable 返回值对 Presenter 方法进行单元测试?