2016-08-09 2 views
1

Я запускаю ресурс команды Chef InSpec, который соответствует выходу команды с некоторым содержимым из файла. Затем я удаляю этот файл после использования следующего ресурса. Но следующая команда возвращает "", и проверка завершается с ошибкой.Использование ресурса Chef InSpec перед удалением файла

describe command("some command") do 
    its ('stdout') {should match /some_regex/} 
end 

Но когда я не удаляю файл, команда выше возвращает ожидаемый результат. Есть ли проблема с ресурсами InSpec и удалением файла?

ответ

1

Rspec (и, следовательно, InSpec) имеет свою собственную двухпроходную модель загрузки, подобную (но несвязанную и четкую) с шеф-поваром. Это означает, что вы, вероятно, удаляете его до запуска теста, даже если он выглядит в коде. Попробуйте использовать блок after(:all)? Это способ сделать это в обычном RSpec, но InSpec отклоняется от Rspec в некоторых местах, поэтому я не на 100%, он будет работать.

+0

Спасибо @coderanger. Это очень помогло. После небольшой игры с синтаксисом и с некоторыми усилиями, это сработало, но не так, как 'RSpec'. – saurg

Смежные вопросы