在rspec中模拟方法链

有一系列方法可以获取user对象。 我试图嘲笑以下内容以返回我的Factory Girluser

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

我可以模拟对象,直到call方法,但我坚持嘲笑result方法

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

我发现我需要使用receive_message_chain

所以这对我有用。

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