web-dev-qa-db-ja.com

rspecのメソッドのモックチェーン

userオブジェクトを取得するメソッドのチェーンがあります。 Factory Girluserを返すために、以下をモックしようとしています。

@current_user = AuthorizeApiRequest.call(request.headers).result

callメソッドまでオブジェクトをモックすることはできますが、resultメソッドをモックすることに固執しています。

allow(AuthorizeApiRequest).to receive(:call).and_return(:user)
11
Decrypter

使用する必要があることがわかりました receive_message_chain

だからこれは私のために働いた。

allow(AuthorizeApiRequest).to receive_message_chain(:call, :result).and_return(user)
17
Decrypter