Как вы запускаете только одно тестовое утверждение с помощью rails Test :: Unit или minitest? - PullRequest
0 голосов
/ 10 октября 2019

Я работаю над проектом, у которого есть устаревшие тесты, написанные в minitest. Как вы запускаете только одно утверждение из тестового файла?

Примечание: у меня есть ответ на мой вопрос, я опубликую его через минуту. Я помещаю это здесь так, чтобы а) это могло принести пользу другим, и б) если я либо потеряю свой ответ, либо забуду, что понял это, надеюсь, я найду это сам. И посмеяться.

1 Ответ

1 голос
/ 10 октября 2019

Отвечая на мой собственный вопрос, чтобы другие могли извлечь выгоду, и, если я забуду, надеюсь, я найду его ...

Я обнаружил два различных способа выполнения этих тестов, а также как указатьварианты. Синтаксис немного отличается в зависимости от того, как вы их запускаете. Однако наиболее важными деталями являются следующие:

  • Если вы укажете точное имя, вы должны поставить перед реальным именем теста префикс "test: " и добавить к нему суффикс ". " - оба этих пробелакритический
  • Вы можете указать регулярное выражение, оно распознает параметр вида /whatever/ как регулярное выражение
  • имя параметра: -n или --name

Вот два способа запустить одно утверждение из одного тестового файла:

bundle exec ruby -Itest path/to_test.rb '--name test_: the exact test name as discovered by running with -v. '

bundle exec rake test TEST=path/to_test.rb TESTOPTS="--name 'test_: the exact test name as discovered by running with -v. '"

А вот как это выглядит, если вы используете регулярное выражение:

bundle exec rake test TEST=path/to_test.rb TESTOPTS="--name '/test name as discovered/'"

Обратите внимание, что существуют разные способы обращения с кавычками / экранированием, и, кажется, вы можете использовать -n=value в дополнение к -n value.

...