#ruby #rspec #mutation #mutation-testing
#ruby #rspec #мутация #тестирование мутации
Вопрос:
Я пытаюсь использовать библиотеку mutant-rspec в проекте, который имеет следующую структуру каталогов
app
backend
spec
someclass_spec.rb
src
someclass.rb
frontend
Я хочу посмотреть, насколько хорошо мое тестовое покрытие на someclass_spec.rb, но, похоже, не могу понять, что передать. Я совершенно уверен (основываясь на чтении, что мне нужен —include src, но я ни за что на свете не могу понять, что входит в аргумент —require .
Из внутренней папки я пробовал …
bundle exec mutant --use rspec
bundle exec mutant --include src --use rspec
bundle exec mutant --include src --require someclass --use rspec
bundle exec mutant --include src --require src/someclass --use rspec
bundle exec mutant --include src --require src/someclass.rb --use rspec
bundle exec mutant --include src --require someclass.rb --use rspec
bundle exec mutant --include src --require Someclass --use rspec
Но мне никогда не удается получить какие-либо активные объекты
Active subjects: 0
Mutant configuration:
Matcher: #<Mutant::Matcher::Config empty>
Integration: Mutant::Integration::Rspec
Jobs: 4
Includes: []
Requires: []
Subjects: 0
Mutations: 0
Results: 0
Kills: 0
Alive: 0
Runtime: 0.06s
Killtime: 0.00s
Overhead: Inf%
Mutations/s: 0.00
Coverage: 100.00%
Что я могу передать во флаги, чтобы заставить его работать в моем файле someclass.rb?
К сожалению, документы не кажутся очень понятными на этом фронте.
Ответ №1:
Из того, что я вижу выше, у Matcher: #<Mutant::Matcher::Config empty>
вас может отсутствовать тема мутации в качестве последнего аргумента. При условии, что ваша тема Someclass
, это было бы:
bundle exec mutant --include src --require someclass --use rspec Someclass