gpt4 book ai didi

rspec - 根据请求 URI 在 VCR 中设置默认选项

转载 作者:行者123 更新时间:2023-12-01 22:50:05 26 4
gpt4 key购买 nike

在请求 example.com 的所有规范中,我想忽略 URI 中关于请求匹配器的尾随 id。像这样。

VCR.configure do |c|
# omitted
c.register_request_matcher :uri_ignoring_trailing_id do |request_1, request_2|
# omitted
end

c.before_http_request(lambda { |req| req.uri =~ /example.com/ }) do
c.default_cassette_options = { match_requests_on: [ :uri_ignoring_trailing_id ] }
end

end

最佳答案

before_http_request 中修改全局配置是个坏主意,因为它会影响每个 在您更改配置后发出的请求,而不仅仅是那些与 example 匹配的请求.com。以下是我建议您改为执行此操作的方法:

VCR.configure do |vcr|
uri_matcher = VCR.request_matchers[:uri]
vcr.register_request_matcher(:uri_ignoring_trailing_id_for_example_dot_com) do |req_1, req_2|
if req_1.parsed_uri.host == "example.com" && req_2.parsed_uri.host == "example.com"
# do your custom matching where you ignore trailing id
else
uri_matcher.matches?(req_1, req_2)
end
end

vcr.default_cassette_options = { match_requests_on: [:method, :uri_ignoring_trailing_id_for_example_dot_com] }
end

关于rspec - 根据请求 URI 在 VCR 中设置默认选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com