为什么只有在我运行完整的测试套件后,黄瓜情况才会失败?

时间:2012-10-18 16:52:25

标签: ruby-on-rails database testing cucumber

如果我运行特定场景,那么它都是绿色的。 如果我只运行黄瓜套装(又名耙黄瓜),它全部都是绿色的。 但是,如果我运行完整的测试套件(又名rake),则单个场景会失败。

我认为这与数据库的状态和我的配置有关。我编写了黄瓜方案来假设一个最初为空的数据库,并且我正在为各个场景构建小型数据集。

我正在使用DatabaseCleaner,使用截断策略,我的理解是这将擦除db clean。我错了吗?在单元和功能测试运行时是否存在可能已创建的数据?有没有快速的方法来确保黄瓜开始清洁?

很高兴开始发布代码并涉及配置细节...

感谢

1 个答案:

答案 0 :(得分:2)

牵手。深深的羞耻。

我从未真正清理数据库。

我正在设定策略,但从不拉动扳机。

特征性/支撑性/ env.rb

在:

begin
  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

后:

begin
  DatabaseCleaner.strategy = :transaction
  DatabaseCleaner.clean
rescue NameError
  raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end

不要让它发生在你身上。

叹息。