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 2

2 ответа:

Интересно, правильно ли вы используете Database Cleaner? В моей энв.rb, я использую его так:

Before do
  require 'database_cleaner'
  require 'database_cleaner/cucumber'
  DatabaseCleaner.strategy = :truncation
end

Это работает для меня, когда я использую Factory Girl.

Это не имело никакого отношения к светильникам. Я думал, что не могу получить доступ к своим данным, потому что не могу войти в систему.

Следующее исправило это: Огурец + селен выходит из строя случайным образом