Ruby on rails 黄瓜替代固定器
我正在使用含硒黄瓜、FixtureReplacement和DatabaseCleaner 有趣的是,我用FixtureReplacement创建的数据无法从测试中访问 我为selenium添加了一个自己的rails环境,并为增强的selenium功能使用了自己的配置文件。 我的selenium配置文件设置为: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
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(可能是你缺少的部分?)*在前挂钩中定义数据库清理器。希望对你有帮助,阿德。