Ruby on rails 黄瓜替代固定器

Ruby on rails 黄瓜替代固定器,ruby-on-rails,cucumber,fixtures,Ruby On Rails,Cucumber,Fixtures,我正在使用含硒黄瓜、FixtureReplacement和DatabaseCleaner 有趣的是,我用FixtureReplacement创建的数据无法从测试中访问 我为selenium添加了一个自己的rails环境,并为增强的selenium功能使用了自己的配置文件。 我的selenium配置文件设置为: Webrat.configure do |config| config.mode = :selenium config.application_environment = :sel

我正在使用含硒黄瓜、FixtureReplacement和DatabaseCleaner

有趣的是,我用FixtureReplacement创建的数据无法从测试中访问

我为selenium添加了一个自己的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
有人知道这个问题的解决办法吗


向您致意

我想知道您是否正确使用了数据库清理器?在我的env.rb中,我是这样使用它的:

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

使用Factory Girl时,这适用于我

这与固定装置无关。我想我无法访问我的数据,因为我无法登录

以下内容修复了它:

你试过黄瓜配水吗?您说FixtureReplacement在Rails控制台中工作,但它是在测试环境中还是在selenium环境中工作的。我的第一个猜测是FixtureReplacement只是在测试中加载,而不是在selenium中加载。但是我对FixtureReplacement一无所知。FixtureReplacement是一个Rails插件,所以它将在每个环境中加载。另外,我查看了它的源代码,测试环境没有任何限制,这对我来说也不适用。你能发布你的整个Cucumber设置吗?顺便说一句,我改成了Factory Girl。这里有一个要点:基本上:*在测试环境中运行功能(也许不是一个好主意)*关闭事务设备*配置Webrat使用selenium(有一些特定于我的设置的附加配置选项)*需要Factory Girl(可能是你缺少的部分?)*在前挂钩中定义数据库清理器。希望对你有帮助,阿德。