在rspec中模拟方法链
有一系列方法可以获取user
对象。 我试图嘲笑以下内容以返回我的Factory Girl
的user
@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)