gpt4 book ai didi

ruby-on-rails - "nil is not a symbol"用于 rspec 匹配器中的模型计数

转载 作者:行者123 更新时间:2023-12-04 00:06:50 27 4
gpt4 key购买 nike

我正在尝试编写一个集成测试,如果用户点击一个按钮,它会在数据库中创建一个新记录(CheckPrice 模型)。

我遇到了错误 nil is not a symbol当我尝试运行我的测试时。

require 'spec_helper'

describe 'CheckPrice', type: :request, js: true do
it "should create a new CheckPrice record when user clicks Check Price on topic page" do
city = create :city
hotel = create :hotel
affiliate_link = create :affiliate_link

visit '/hotel-bilboa-hotel'
sleep 2
click_button "Check Prices"
response.should change(CheckPrice.count).by(1)
end
end

单击“检查价格”时,有一个事件监听器会触发 checkprices_controller 中的新方法。

错误似乎发生在最后一行 response.should change(CheckPrice.count).by(1) .该方法似乎无法识别模型 CheckPrice。如何引用 CheckPrice 表?

谢谢。

最佳答案

我认为您不能使用 change像这样的匹配器在响应对象上。试试这个:

expect {
click_button "Check Prices"
}.to change{ CheckPrice.count }.by(1)

IMO,这也更具语义意义。

this cheat sheet更多例子。

关于ruby-on-rails - "nil is not a symbol"用于 rspec 匹配器中的模型计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239929/

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