Ruby 删除文件前使用Chef InSpec资源

Ruby 删除文件前使用Chef InSpec资源,ruby,rspec,chef-infra,inspec,Ruby,Rspec,Chef Infra,Inspec,我正在运行Chef InSpec命令资源,它将命令的输出与文件中的某些内容相匹配。然后,在使用以下资源后,我将删除该文件。但是下面的命令返回”,测试失败 describe command("some command") do its ('stdout') {should match /some_regex/} end 但当我不删除文件时,上面的命令将返回预期的输出。InSpec资源和删除文件是否存在任何问题 Rspec(因此InSpec)有自己的两次加载模型,与Chef's相似(但不相关且

我正在运行Chef InSpec命令资源,它将命令的输出与文件中的某些内容相匹配。然后,在使用以下资源后,我将删除该文件。但是下面的命令返回
,测试失败

describe command("some command") do
  its ('stdout') {should match /some_regex/}
end

但当我不删除文件时,上面的命令将返回预期的输出。InSpec资源和删除文件是否存在任何问题

Rspec(因此InSpec)有自己的两次加载模型,与Chef's相似(但不相关且不同)。这意味着您可能在测试运行之前删除它,即使它看起来像是在代码中的后面。尝试在(:all)块之后使用
?这是正常RSpec中的方法,但InSpec在某些地方与RSpec不同,因此我认为它不是100%有效。

谢谢@coderanger。这很有帮助。在对语法进行了一些处理并付出了一些努力后,它成功了,但与
RSpec
不完全一样。
describe command("some command") do
  its ('stdout') {should match /some_regex/}
end