Как перезагрузить рельсы в базу данных во время пробного запуска - PullRequest
0 голосов
/ 30 ноября 2018

Мой старый код использует DatabaseCleaner, который стирает базу данных после каждого теста.Однако он также стирает данные загруженных приборов и приводит к сбою некоторых тестов, использующих приборы, например:

ActiveRecord::RecordNotFound Exception: Couldn't find Country with 'id'=593363170

Чтобы заставить их работать вместе, как я могу переписать все приборы обратно в базу данных во время теста?(Я имею в виду не грабли задачи)

1 Ответ

0 голосов
/ 01 декабря 2018

Решение:

Установите self.use_transactional_fixtures = false в начале файла, перед которым вы хотите перезагрузить приборы.

Или используйте use_transactional_tests в Rails 5.

Не устанавливайте его в spec_helper, поскольку он применяется глобально, поэтому конфликтует с DatabaseCleaner.

...