我正在查看Savon here的测试文档,而我并不了解正在发生的事情。我对使用模拟和存根进行测试是相当新的,也许这就是问题所在。这是一个例子:
require "spec_helper"
# require the helper module
require "savon/mock/spec_helper"
describe AuthenticationService do
# include the helper module
include Savon::SpecHelper
# set Savon in and out of mock mode
before(:all) { savon.mock! }
after(:all) { savon.unmock! }
describe "#authenticate" do
it "authenticates the user with the service" do
message = { username: "luke", password: "secret" }
fixture = File.read("spec/fixtures/authentication_service/authenticate.xml")
# set up an expectation
savon.expects(:authenticate).with(message: message).returns(fixture)
# call the service
service = AuthenticationService.new
response = service.authenticate(message)
expect(response).to be_successful
end
end
end
我知道我们对灯具建立了期望,即响应应该是什么。
然后我们调用该服务并获得响应。我的问题是: 1.真的打电话了吗? 这个回应是真实的反应吗? 有人可以试着为我解释这个问题吗?
干杯
答案 0 :(得分:1)
不会发出远程请求。由于您已模拟authenticate
,因此响应将与您指定的值短路。但是,可能会首先发生一些其他初步请求,例如WSDL的GET。