我搜索并尝试了很多,但没有找到我的答案。 我有一些用gherkin编写的项目的功能文件(在rails项目中)。所有步骤都已定义,如果我每个单独启动它们,则功能本身运行良好。 我可以和我需要执行的黄瓜一起运行所有场景 rake db:drop db:在每个场景之前创建db:migrate db:seed。 我试过exec' rake db:drop db:create db:migrate db:seed'在env.rb中的begin函数中,我在功能的后面步骤中尝试了相同的操作。执行该命令,但在此之后黄瓜停止并且不执行方案。我怎么能这样使用呢?
感谢您的帮助!
答案 0 :(得分:1)
最初没有理解database_cleaner,但是现在我做了......播种“已清理”的数据库存在问题。 我现在所做的是(在env.rb中)
begin
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner.strategy = :truncation
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 |scenario|
load Rails.root.join('db/seeds.rb')
end
Around do |scenario, block|
DatabaseCleaner.cleaning(&block)
end
答案 1 :(得分:0)
你有没有看过Database Cleaner gem? 它可能会帮助你解决这个问题。