昨日、突然変異テストに関する この記事でつまずき、すぐにelasticrepo a libを試してみました。elasticsearchで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|::)/>
誰でもこれを手伝ってもらえますか?