FixtureReplacement с огурцом
Я использую огурец с селеном, FixtureReplacement и DatabaseCleaner.
Как ни странно, мои данные, созданные с помощью FixtureReplacement, недоступны из моих тестов.
Я добавил собственную среду rails для selenium и использую собственный профиль для моих улучшенных функций selenium. Моя настройка огурца для профиля Селена такова:
Webrat.configure do |config|
config.mode = :selenium
config.application_environment = :selenium
end
Cucumber::Rails::World.use_transactional_fixtures = false
require "database_cleaner"
# Clean the database once when starting
DatabaseCleaner.clean_with :truncation
DatabaseCleaner.strategy = :truncation
Before do
DatabaseCleaner.start
include FixtureReplacement
end
After do
DatabaseCleaner.clean
end
# this is necessary to have webrat "wait_for" the response body to be available
# when writing steps that match against the response body returned by selenium
World(Webrat::Selenium::Matchers)
FixtureReplacement работает хорошо,я протестировал его в консоли Rails.
Я запускаю свои функции selenium с:
RAILS_ENV=selenium cucumber -p selenium features/enhanced/test.feature
Кто-нибудь знает решение этой проблемы?
С наилучшими пожеланиями
2 ответа:
Интересно, правильно ли вы используете Database Cleaner? В моей энв.rb, я использую его так:
Before do require 'database_cleaner' require 'database_cleaner/cucumber' DatabaseCleaner.strategy = :truncation end
Это работает для меня, когда я использую Factory Girl.
Это не имело никакого отношения к светильникам. Я думал, что не могу получить доступ к своим данным, потому что не могу войти в систему.
Следующее исправило это: Огурец + селен выходит из строя случайным образом