gpt4 book ai didi

ruby-on-rails - 单个规范在单独运行时通过,但在所有规范运行时失败

转载 作者:行者123 更新时间:2023-11-28 19:47:06 24 4
gpt4 key购买 nike

我的 foo_controller_spec.rb 中有 30 个规范,当我使用规范运行整个文件时,我遇到了 4 个失败和 2 个待定。当我分别运行 4 个失败的规范时,其中 3 个仍然失败,但其中一个通过了。起初我认为这是一个数据库问题,数据在运行之间没有被正确清除。所以我安装了 database_cleaner ( http://github.com/bmabey/database_cleaner ) 并将这段代码添加到我的 spec_helper:

config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end

config.before(:each) do
DatabaseCleaner.start
Sham.reset
login
end

config.after(:each) do
DatabaseCleaner.clean
end

现在,当我运行我的规范时,我可以看到每个规范之间的表格都被截断了,所以我知道它在工作,但是当与所有其他规范一起运行时,规范仍然失败,但单独运行时通过。我在这里缺少什么?

最佳答案

我遇到了完全相同的问题并且失去了理智!

我这样跟踪问题(使用 Textmate):在项目抽屉(多个文件)中选择您的文件,然后转到“Bundles > Rspec > Run examples in selected files/directories”。

诀窍是找出哪个文件对其他文件造成干扰。

对我来说,在一个文件中更改 I18n.locale 会导致所有其他示例的语言环境发生变化!

我为此疯狂地浪费了几个小时...

关于ruby-on-rails - 单个规范在单独运行时通过,但在所有规范运行时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com