ruby - Chef Minitest 检查文件的内容

标签 ruby unit-testing chef-infra minitest

我想检查我的 Chef 迷你测试中的文件内容。

示例文件:

THIS IS A TEST
#################
## DO NOT FIND ##
#################
FIND THIS 
AND THIS

现在我想验证这个文件的内容。我用过default_test.rb有一个示例,目前正在执行以下操作:

# = Checking file content =

it "will check the file" do
  file('/tmp/foo')
   .must_include 'THIS IS A TEST'
  file('/tmp/foo')
   .must_include 'FIND THIS'
  file('/tmp/foo')
   .must_include 'FIND THIS'
end

必须有一个比这样链接更好、更干净的解决方案。有人知道吗?

最佳答案

您可以使用循环。

it "has the rights lines in /tmp/foo" do
  ['THIS IS A TEST', 'FIND THIS', 'AND THIS'].each do |line|
    file('/tmp/foo').must_include line
  end
end

关于ruby - Chef Minitest 检查文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20546996/

相关文章:

ruby-on-rails - 无法覆盖设计密码 Controller

ruby - 第 1 行第 1 列不允许使用心理控制字符

ruby-on-rails - 使用 Ruby 1.8.7 的 Rails 2 的回形针 2.3.8 gem 的未定义方法 `has_attached_file'

java - 单元测试 WorkManager 时周期性工作未达到运行状态

ruby - 如何在 Chef 中使用 env 延迟设置环境变量?

ruby - Chef 库或定义?

ruby-on-rails - 在 Ruby 中将值带入循环

java - 如何使用 JMockit 模拟/伪造一个新的枚举值

unit-testing - 如何使用 WebStorm 调试 Vue CLI 3 单元测试?调试器没有命中断点

ruby - 从资源中删除样板属性