在黄瓜测试运行之前运行种子 - 轨道3.2

时间:2013-09-21 15:23:47

标签: ruby-on-rails ruby cucumber

我正在使用 rails中的黄瓜进行集成测试我已经让我的所有方案都运行正常,但我需要在所有方案开始之前运行的db / seed.rb文件上的种子运行时,

我尝试在我的support / env.rb中添加此内容:require File.dirname(__FILE__) + '/seeds'

但确实无效。

我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您应该或不应该使用种子,有各种各样的想法。

我想知道每个离散场景是否有效,它们之间没有相互影响。这可能会使套件花费更长时间,但可以确保您的测试相信另一种情况不会引起连锁反应。因此,我选择使用种子。

我有support/seeds.rb内容:

Before do |scenario|
  load Rails.root.join('db/seeds.rb')
end

注意,您可能希望将其与以下内容结合使用:

begin
  # start off entire run with with a full truncation
  #  DatabaseCleaner.clean_with :truncation, {:except => %w[plans]}
  DatabaseCleaner.clean_with :truncation
  # continue with the :transaction strategy to be faster while running tests.
  DatabaseCleaner.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

答案 1 :(得分:0)

require_relative '../../db/seeds'中添加features/support/env.rb