Невозможно указать каталоги для тестирования после обновления до rails 5.2.0 - PullRequest
0 голосов
/ 12 мая 2018

Я повышен с rails 5.1.1 до rails 5.2.0.Мой процесс был следующим:

  • Обновлены самоцветы рельсов и решены проблемы с зависимостями
  • Посмотрел railsdiff между 5.1.1 и 5.2.0 и обновил файлыпри необходимости

Все выглядит хорошо, за исключением того, что я заметил странное поведение в моем наборе тестов

  • выполнение команды rails test test/system вообще не запускает мои системные тесты,Он запускает все остальные мои тесты (политики, сервисы, модели, задания), но не запускает системные тесты.
    • Странно: работает определенный системный тестовый файл, например: rails test test/system/comment_test.rb работает.
  • Запуск определенных каталогов тестов больше не работает.Например, ранее я мог запускать rails test test/policies, rails test test/models и rails test test/services, и он запускал тесты только в этих каталогах.Это больше не работает.Вместо этого он просто запускает все тесты (кроме системных тестов).

Есть идеи, что изменилось между rails 5.1.1 и rails 5.2.0, что вызывает такое поведение?Или, может быть, я просто что-то упускаю?

В соответствии с Руководствами по Rails, тестирующими приложения Rails: 2.7. Rails Test Runner утверждает, что нужно иметь возможность запускать тесты на каждомОснова каталога:

Вы также можете запустить весь каталог тестов, указав путь к каталогу.

Ожидаемое поведение:

rails test=> запустить весь набор тестов

rails test test/system => запустить все тесты в системном каталоге

rails test test/models => запустить только тесты в каталоге моделей

Воспроизведение поведения

Я могу воспроизвести поведение с помощью следующих команд:

rails new test_app         # create demo app
cd test_app                # cd into app
rails g scaffold user name # scaffold user
rake db:migrate            # migrate
rails test test/system/    # Expect to run system tests but does not (scaffold creates 4 system tests)

1 Ответ

0 голосов
/ 12 мая 2018

С rails -T вы можете увидеть доступные задачи.Два вопроса, относящихся к этому вопросу:

rails test          # Runs all tests in test folder except system ones
rails test:system   # Run system tests only

, из которых, как мы видим, rails test не будет запускать системные тесты.Для этого вам нужно правильно запустить rails test:system, iirc, вы можете запустить все тесты с rails test:system test

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...