【发布时间】:2015-08-11 07:12:54
【问题描述】:
我有如下 ActiveRecord 模型类方法:
def self.find_by_shortlink(shortlink)
find_by!(shortlink: shortlink)
end
当我针对这种方法运行 Mutant 时,我被告知有 17 个突变,并且在测试运行后 16 个仍然“活着”。
这是“活”突变之一:
-----------------------
evil:Message.find_by_shortlink:/home/peter/projects/kaboom/app/models/message.rb:29:3f9f2
@@ -1,4 +1,4 @@
def self.find_by_shortlink(shortlink)
- find_by!(shortlink: shortlink)
+ find_by!(shortlink: self)
end
如果我手动进行相同的更改,我的测试会失败 - 正如预期的那样。
所以我的问题是:我如何编写一个单元测试来“杀死”这个突变?
【问题讨论】:
标签: ruby-on-rails ruby tdd mutation-testing