0
私はリソースをテストしていますが、正しい数のパラメータがあることを確認したいのですが、そのうちの1つはrequire
ですwith
で一致する方法を見つけられませんでした。私はthat_requires
を使って関係が正しいことをテストします。私の現在のテストはrspec-puppetのパラメータの「任意の値」に一致する方法はありますか
context 'xldeploy_environment_member' do
env = "Environments/#{company_short}/#{environment_short}/#{sn_environment}"
name = "#{env}/#{website}"
dict = "#{env}/dict.#{website}"
infhost = "Infrastructure/IIS/#{hostname}"
it { is_expected.to contain_xldeploy_environment_member(name).with({
:id => name,
:ensure => 'present',
:env => name,
:dictionaries => [dict],
:members => ["#{infhost}/#{website}", infhost],
}.merge($xldeploy_defaults))}
it { is_expected.to contain_xldeploy_environment_member(name).that_requires(
"Xldeploy_ci[#{name}]")
}
end
のように見えますが、私はwith
は、余分なパラメータは、対応するテストなしで追加することができるようになると、only_with
でwith
を交換したいと思います。 resource_count
チェックがあるようなparameter_count
チェックがあった場合は、それを使用することができます。 rspec-puppet
は正規表現でのマッチングをサポートしているので、そのパラメータがそこにあることを確認できますか?私はthat_requires
でテストされているように、実際のコンテンツには興味がありません。
私はあなたが 'WITH'のチェイナへのチェーン' that_requires'できると信じて。それを試してみて、メタパラメータとして 'only_with'にチェーンすることができるかどうかを確認してください。マッチャーは標準のチェーンで覆われてはいけません。私があなたがそのコードで 'merge'を必要としているとは思っていないことと、' context'ブロックの上に定義されていると仮定して、未定義の変数も使用しています。ダイナミックな入出力イベントをテストすることにより、さらに興味深い付加価値が見られます。 –
ありがとう私は連鎖しようとします。 WIPであるため、これはハードコードされています。 – smcp