Я повышен с rails 5.1.1
до rails 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)