Как передать аргументы в mutant-rspec?

#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