如何为依赖定义编写puppet-rspec?

时间:2015-12-28 10:14:15

标签: ruby rspec puppet

我有一个如下所示的定义,

define module::define1 (
  $path = undef,
  $someparam = undef,
  ...
) {

  unless defined(Define2[$someparam]) {
    fail("Please create define2[$someparam] first")
  }

  file { $path:
    ensure => directory,
  }
}

当我尝试测试文件[$ path]的存在时,我收到错误"请先创建define2 [$ someparam]"。但是define2在另一个文件中。 如何在define1的rspec范围内包含define2?

1 个答案:

答案 0 :(得分:0)

我相信你的明显设计会受到严重限制。通过defined函数表达交叉依赖性是非常脆弱的,并且必然导致问题。

您是否考虑过用constraints替换支票? (模块文档还详细阐述了为什么defined通常是一个坏主意。)