例えば、"recipename"というレシピのlibrariesにある"TestHelper"をテストしたいとき。
以下の通りに書くと、テストできます。
spec/recipes/default_spec.rb
describe 'recipename::default' do
let( :chef_run ) { ChefSpec::Runner.new.converge( described_recipe ) }
it 'libraries test' do
helper = Object.new.extend( TestHelper )
result = helper.getHoge( "Hoge" )
result.should == "Hoge"
end
end
libraries/test_helper.rb
module TestHelper
def getHoge( msg )
return msg
end
end
あっ、ちなみに、librariesの中でnodeを参照している場合は、テスト時に変数が参照できないエラーが出ますので、ご注意ください。