我正在 Rspec 中编写一些测试,并试图通过关联将 a 推carrier
送到 a 。下面是我写的测试,但是我用箭头指示的行似乎没有通过。我意识到我已经嘲笑了运营商,但没有嘲笑用户,我想知道这是否会导致 HABTM 关联出现问题。这是问题还是我还缺少其他东西?我是嘲笑和存根的新手,但我会尽力而为!user
has_and_belongs_to_many
describe UsersController do
describe 'get #add_carrier' do
let(:user) { build(:approved_user) }
let(:carrier) { mock_model(Carrier).as_null_object }
before{ Carrier.stub(:find).and_return(carrier) }
it 'associates the Carrier to the User' do
expect(user.carriers).to eq []
user.should_receive(:carriers).and_return([])
--> (user.carriers).should_receive(:push).with(carrier).and_return([carrier])
(user.carriers).push(carrier)
(user.carriers).should include carrier
end
end
end