如果我运行特定场景,那么它都是绿色的。 如果我只运行黄瓜套装(又名耙黄瓜),它全部都是绿色的。 但是,如果我运行完整的测试套件(又名rake),则单个场景会失败。
我认为这与数据库的状态和我的配置有关。我编写了黄瓜方案来假设一个最初为空的数据库,并且我正在为各个场景构建小型数据集。
我正在使用DatabaseCleaner,使用截断策略,我的理解是这将擦除db clean。我错了吗?在单元和功能测试运行时是否存在可能已创建的数据?有没有快速的方法来确保黄瓜开始清洁?
很高兴开始发布代码并涉及配置细节...
感谢
答案 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
不要让它发生在你身上。
叹息。