Ruby 如何判断录像机是否完成了磁带

Ruby 如何判断录像机是否完成了磁带,ruby,vcr,Ruby,Vcr,我如何判断VCR是否已消耗所有记录的数据?如果被测程序终止API访问或根本不执行任何操作,VCR测试仍然正常完成(测试将检查是否出现错误,并在结束时检查完成消息)。检查状态的方法有很多种,但是让测试过的应用程序成功地使用盒式磁带比我能想到的任何状态工件都要多。在插入盒式磁带的源代码中找到了这一点选项: @选项选项:如果设置为,则允许\u未使用的\u http\u交互[布尔值] false,如果磁带在所有之前弹出,则会引发错误 使用了以前记录的HTTP交互。 默认为true。请注意,当已经发生错误

我如何判断VCR是否已消耗所有记录的数据?如果被测程序终止API访问或根本不执行任何操作,VCR测试仍然正常完成(测试将检查是否出现错误,并在结束时检查完成消息)。检查状态的方法有很多种,但是让测试过的应用程序成功地使用盒式磁带比我能想到的任何状态工件都要多。

插入盒式磁带的源代码中找到了这一点
选项:

@选项选项:如果设置为,则允许\u未使用的\u http\u交互[布尔值] false,如果磁带在所有之前弹出,则会引发错误 使用了以前记录的HTTP交互。 默认为true。请注意,当已经发生错误时 (如
$!
变量所示)未使用的交互将被删除 允许,这样我们就不会消除原始错误(几乎是 当然更有趣/更重要)

并与此
弹出盒式磁带
选项交互:

@选项选项:跳过\u否\u未使用的\u交互\u断言[布尔] 如果给出
true
,则将跳过“无未使用的HTTP交互” 由
启用的断言:允许未使用的\u http\u交互=>false
盒式磁带选项。这是为了在您的测试已经完成时使用 一个错误,但是您的测试框架已经处理了它

所以这被用作:

it 'successfully accesses the proper APIs' do
  VCR.use_cassette('/some/path', allow_unused_http_interactions: false) do
    expect do
      expect do
        described_class.new(param1, param2).process
      end.to_not raise_exception
    end.to output(/Done!/).to_stdout
  end
end

在插入盒式磁带的源代码中找到此选项:

@选项选项:如果设置为,则允许\u未使用的\u http\u交互[布尔值] false,如果磁带在所有之前弹出,则会引发错误 使用了以前记录的HTTP交互。 默认为true。请注意,当已经发生错误时 (如
$!
变量所示)未使用的交互将被删除 允许,这样我们就不会消除原始错误(几乎是 当然更有趣/更重要)

并与此
弹出盒式磁带
选项交互:

@选项选项:跳过\u否\u未使用的\u交互\u断言[布尔] 如果给出
true
,则将跳过“无未使用的HTTP交互” 由
启用的断言:允许未使用的\u http\u交互=>false
盒式磁带选项。这是为了在您的测试已经完成时使用 一个错误,但是您的测试框架已经处理了它

所以这被用作:

it 'successfully accesses the proper APIs' do
  VCR.use_cassette('/some/path', allow_unused_http_interactions: false) do
    expect do
      expect do
        described_class.new(param1, param2).process
      end.to_not raise_exception
    end.to output(/Done!/).to_stdout
  end
end