3

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

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

我正在使用具有截断策略的 DatabaseCleaner,我的理解是这将清除数据库。我弄错了吗?当单元和功能测试运行时,是否有可能已经创建的数据挥之不去?有没有一种快速的方法来确保黄瓜开始干净?

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

谢谢

4

1 回答 1

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

不要让它发生在你身上。

叹。

于 2012-10-18T17:03:14.217 回答