describe "A group of specs where you want to allow http requests" do
before do
VCR.configure do |c|
@previous_allow_http_connections = c.allow_http_connections_when_no_cassette?
c.allow_http_connections_when_no_cassette = true
end
end
after do
VCR.configure do |c|
c.allow_http_connections_when_no_cassette = @previous_allow_http_connections
end
end
# Specs in this block will now allow http requests to be made
end
5条答案
按热度按时间093gszye1#
这不是最好的解决方案,但是您可以使用示例变量将配置返回到其原始设置
我发现这对我最初启动和运行API时很有帮助,并且希望能够调试我发出的请求。一旦API正常工作,我就可以删除before和after块,并正常使用VCR。
dy2hfwbg2#
当然,在配置块中添加:
这是VCR关于测试套件的唯一选项AFAIK。请参阅docs。
最有可能的是,你真的应该考虑record modes的行为,这样它是可行的。
toiithl63#
有几种方法可以让你做到这一点,这里有一些资源:
沿着几点可能会奏效:
或
在使用turn off方法之前,可能需要先使用
VCR.eject_cassette
,具体取决于在规范中执行的操作。n3h0vuf24#
根据凯西的回答,我想出了这个帮助模块:
然后可以从任何规范调用它,如下所示:
有关测试中的包含/要求,请参见docs。
lymnna715#
在我的例子中,我不想让真实的的HTTP连接用于非VCR规范,我只想让VCR对于这些规范禁用,以便Webmock直接处理它们。