在我的Ruby on Rails应用程序中,有2个Localhost服务器正在运行。我正在为第一台服务器编写测试用例,因此我必须模拟第二台服务器。 为此,我使用VCR记录从第二台服务器获得的响应,并在第一台服务器上运行测试时播放录制的卡带。
我停留在第一台服务器向第二台服务器发出请求的部分( URL中的session_id每次都会更改),并且我希望每次发出请求时响应都相同
答案 0 :(得分:1)
使用VCR,您可以使用match_requests_on
盒式磁带选项或完全自定义的匹配器-https://relishapp.com/vcr/vcr/v/3-0-3/docs/request-matching
答案 1 :(得分:0)
我通过忽略参数来完成这项工作。因此,对于您来说,这样的事情可能会起作用:
VCR.use_cassette('name_of_your_cassette', match_requests_on: [:method, VCR.request_matchers.uri_without_params('session_id')]) do
# here is your http query
end
在我的情况下,query
正在更改,因此我在vcr请求匹配器中忽略了这一点。