昨天在变异测试的这个article中发现了一个绊脚石,我立即尝试了elasticrepo一个lib,我正在写一篇关于弹性搜索的索引github。
不幸的是,我似乎错过了一些东西,因为我没有得到任何所谓的“Killed:rspec”和零突变:
lsoave@ubuntu:~/rails/github/elasticrepo$ mutant -I lib/elasticrepo -r repo_subset --rspec-dm2 ::RepoSubset
Mutant configuration:
Matcher: #<Mutant::Matcher::ObjectSpace scope_name_pattern=/\ARepoSubset(\z|::)/>
Filter: Mutant::Mutation::Filter::ALL
Strategy: #<Mutant::Strategy::Rspec::DM2>
subjects: 0
mutations: 0
noop_fails: 0
kills: 0
alive: 0
mtime: 0.00s
rtime: 0.01s
lsoave@ubuntu:~/rails/github/elasticrepo$
现在我认为它可能与路径有关,然后在这种情况下就是这样:
lsoave@ubuntu:~/rails/github/elasticrepo$ ls -l lib/elasticrepo
total 16
-rw-rw-r-- 1 lsoave lsoave 333 Jun 8 16:07 extractor.rb
-rw-rw-r-- 1 lsoave lsoave 1960 Jun 8 16:07 indexer.rb
-rw-rw-r-- 1 lsoave lsoave 1330 Jun 8 16:07 repo_subset.rb
-rw-rw-r-- 1 lsoave lsoave 43 Jun 1 12:28 version.rb
lsoave@ubuntu:~/rails/github/elasticrepo$
这里是要测试的类的“结构”(就命名空间而言):
lsoave@ubuntu:~/rails/github/elasticrepo$ head -2 lib/elasticrepo/repo_subset.rb
module Elasticrepo
class RepoSubset
lsoave@ubuntu:~/rails/github/elasticrepo$
请随意查看整个代码以测试变异:elasticrepo
由于响应行:
,正则表达式也可能出现问题Matcher: #<Mutant::Matcher::ObjectSpace scope_name_pattern=/\ARepoSubset(\z|::)/>
有人可以为此提供帮助吗?
答案 0 :(得分:4)
免责声明:此处突变的作者。
刚刚克隆了你的回购。需要进行更改:
::Elasticrepo::RepoSubset
,而不是::RepoSubset
--rspec-dm2
已被替换为--use rspec
使用此更改,Mutant可以正确运行。
快乐变异!