Как получить огурец и databasecleaner, чтобы оставить мои данные семени в моем rails test db?

У меня есть несколько таблиц базы данных, которые имеют данные только для отображения, они никогда не меняются. Загрузка всех данных семян занимает много времени. Я использую огурец, который, по-видимому, использует драгоценный камень database_cleaner перед каждым сценарием для обрезания всех таблиц в тестовом db. Есть ли способ сообщить database_cleaner или огурцу оставить несколько таблиц в одиночку или я застрял в загрузке моих данных семян перед каждым сценарием? Я бегаю рельсы 2.3.8 огурец 0.10.0 огуречные рельсы 0.3.2 database_cleaner 0.50.0 Буду признателен за любую оказанную помощь. Том

Ответы

Ответ 1

Если вы используете ActiveRecord или DataMapper, вы можете использовать стратегию :transaction вместо :truncation.

DatabaseCleaner.strategy = :transaction

Или, как указывает @traday, вы можете использовать список исключений с усечением.

DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]}

Документы DatabaseCleaner заслуживают внимания. Посмотрите features/support/env.rb, где это обычно устанавливается с помощью огурца.