[英]Rails how to mock Http Post Request
在我的控制器中,我已使用参数发出了此发布请求,并且效果很好
parameters = {'email' => "email", 'password' => "password"}
response = Net::HTTP.post_form(URI.parse('http://example.com/unsubscriptions'), {'q'=>parameters})
if response.is_a?(Net::HTTPSuccess)
@msg = "You have successfully unsubscribed."
else
@msg = "Resource not found."
end
在规范控制器中,这是代码
it "should return success message on a successfull Post request to api" do
parameters = { "email" => 'email', "password" => "password" }
Net::HTTP.should_receive(:post_form).with(
URI.parse("http://example.com/unsubscriptions"), "q" => parameters
).and_return(Net::HTTPSuccess)
post :unsub_uk, parameters
#assigns(:msg).should eq("You have successfully unsubscribed.")
response.should be_success
end
我无法模拟此Net::HTTP.post_form
请求。 有任何想法或其他方式可以完成此任务吗? 提前致谢。
只需使用gem webmock即可 。
相信可以解决问题,因为返回应该是Net :: HTTPSuccess。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.