0

私は Rspec でいくつかのテストを書いており、関連付けを介して acarrierにプッシュしようとしています。以下は私が書いたテストですが、矢印で示した行は合格していないようです。ユーザーではなくキャリアを嘲笑したことに気付きました。これが HABTM 関連付けに問題を引き起こしているのではないかと考えています。これは問題ですか、それとも他に何か不足していますか? 私は嘲笑とスタブに慣れていませんが、最善を尽くしています!userhas_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
4

1 に答える 1