Я пытаюсь написать тест ChefSpec, чтобы проверить, что рецепт создает каталог, только если он не существует.Я получил свой первый тест «создание каталога», но второй тест не пройден.Рецепт внизу.Может кто-нибудь, пожалуйста, помогите получить вторую часть правильно?Потому что, если каталог существует, то первый тест не пройден.Я должен удалить каталог, чтобы выполнить первый тест, а затем второй тест все равно не пройден.
require 'spec_helper'
describe 'my_cookbook::default' do
context 'Windows 2012' do
let(:chef_run) do
runner = ChefSpec::ServerRunner.new(platform: 'Windows', version: '2012')
runner.converge(described_recipe)
end
it 'converges successfully' do
expect { chef_run }.to_not raise_error
end
it 'creates directory' do
expect(chef_run).to create_directory('D:\test1\logs')
end
it 'checks directory' do
expect(chef_run).to_not create_directory( ::Dir.exists?("D:\\test1\\logs") )
end
end
end
Вот рецепт, который сам по себе работает, как задумано, но я не могу написать тест вокругит.
directory "D:\\test1\\logs" do
recursive true
action :create
not_if { ::Dir.exists?("D:\\test1\\logs") }
end