gpt4 book ai didi

testing - 使用 let 不保存记录

转载 作者:行者123 更新时间:2023-11-28 20:27:37 25 4
gpt4 key购买 nike

举个简单的例子:

let(:item) { create(:item }
it 'query by scope' do
expect(Item.all.length).to eq 1
end

测试没有通过。

在 it block 中添加 item.save,测试通过。使用 before(:each) { create(:item) } 而不是 let 也可以使测试通过。

听起来很明显,我可能忽略了这一点,为什么 let 在这种情况下没有有效地创建记录?

最佳答案

请改用let!let 被延迟求值,let! 主体被立即调用。

您提供的所有示例都是有效的,因为 let 被延迟评估。您也可以在其中调用 item(无需 save),它也应该通过。

关于testing - 使用 let 不保存记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48884952/

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