【发布时间】:2015-12-27 14:11:56
【问题描述】:
有一个 Company 类 has_many QuarterValue,我有一个 RSpec 测试。
let(:company) { Company.create }
describe 'company has many quarter values' do
before do
10.times { create(:quarter_value, company: company) }
end
it 'has 10 quarter values' do
expect(company.quarter_values.count).to eq(10)
end
end
测试通过。我的问题是当我将binding.pry 放在expect 匹配器上方时,我无法访问company.quarter_values,它返回空数组[]。
如何使用binding.pry 访问RSpec 测试中的has_many 模型对象?
spec/factories.rb
FactoryGirl.define do
factory :company do
sequence(:code) { |n| n + 1000 }
end
factory :quarter_value do
company
end
end
【问题讨论】:
-
如果您执行
company.reload会发生什么? -
我制作了一个应用程序来测试这一点,并根据提供的信息复制了所有内容,并且无法复制。当我将 pry 绑定到期望之上,然后在我的控制台中输入
company.quarter_values它返回所有 10 条记录......而不是一个空数组。这是意料之中的,但与您所说的不符。
标签: ruby-on-rails ruby-on-rails-4 rspec factory-bot