我正在使用 Cucumber 编写我的集成测试和Database Cleaner来保持我的数据库清洁。一切都完美无缺,因为我的测试不需要 Javascript。
我可以使用Capybara webkit使这些最后的测试通过,但是我的数据库根本没有被清理。
这是我的features/support/env.rb文件:
require 'simplecov'
SimpleCov.start 'rails'
require 'cucumber/rails'
Capybara.default_selector = :css
Capybara.javascript_driver = :webkit
begin
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner[:active_record].strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Before do
DatabaseCleaner.start
end
After do |scenario|
DatabaseCleaner.clean
end
我尝试了类似的方法来检查 Capybara 使用了哪个驱动程序,但它没有用。我也尝试了这篇文章第三部分中提到的黑客,但没有任何效果......
我真的不知道如何实现这一点,任何帮助将不胜感激。
提前致谢。