0

例如,要检查是否已使用用户“nobody”创建目录,我可以使用以下两种方法之一:

"断言一个目录是用谓词匹配器创建的"

expect(chef_run).to create_directory('/tmp').with_user('nobody')

"断言一个目录是用属性创建的"

expect(chef_run).to create_directory('/tmp').with(user: 'nobody')

还有第三种使用正则表达式的方法,但我不关心那个方法。

如何确定使用哪种方法来断言目录已创建并由正确的用户拥有?

4

1 回答 1

0

没有区别:https ://github.com/chefspec/chefspec/blob/master/lib/chefspec/matchers/resource_matcher.rb#L32-L34

    def method_missing(m, *args, &block)
      if m.to_s =~ /^with_(.+)$/
        with($1.to_sym => args.first)
        self
      else
        super
      end
    end

with(user: whatever)语法更为常见,但这取决于您和您的个人风格。

于 2017-07-13T23:12:50.693 回答