我有以下控制器规范现在可以正常工作:
# This top part is a hack
module MyModule
class MyOAuthClient < OAuthClient
def token_is_valid?(options)
true
end
end
end
# Here's the actual spec
describe MyModule::OAuthController do
describe "GET callback" do
it "works fine when token is valid" do
post :callback, use_route: :my_module
expect(response.code).to eq("200")
end
end
end
我想要做的是用存根替换我的规范中的猴子补丁。我该怎么做?
rspec-mocks docs显示了不在命名空间下的存根类的示例,但似乎您不能将这些示例应用于命名空间类并让它工作。
我已经尝试过某些事情,但我不想用错误的猜测来偏见别人的答案。
答案 0 :(得分:1)
原来我在any_instance
之后:
MyModule::OAuthClient.any_instance.stub(:token_is_valid?) { true }