gpt4 book ai didi

ruby-on-rails - Rspec/Rails匹配器,模型to_be_saved除外

转载 作者:行者123 更新时间:2023-12-04 05:05:05 26 4
gpt4 key购买 nike

我想检查模型是否通过各种可用方法持久化到数据库中。看起来所有这些事情都遵循.save,但是我很好奇是否有更好的方法,也许使用Dirty提供的功能?

最佳答案

检查是否创建了新记录的一种方法:

expect {
MyModel.do_something_which_should_create_a_record
}.to change(MyModel, :count).by(1)

或者,如果您要检查是否已保存值,则可以执行以下操作:
my_model.do_something_which_updates_field
my_model.reload.field.should == "expected value"

或者,您可以再次使用 expectchange:
my_model = MyModel.find(1)
expect {
my_model.do_something
}.to change { my_model.field }.from("old value").to("expected value")

那是你的意思吗?

关于ruby-on-rails - Rspec/Rails匹配器,模型to_be_saved除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5128976/

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