Вы могли бы (также) изучить Бродягу для этого.
Видео показывает, как использовать комбинацию поваренных книг Бродяги и Шеф-повара. И существует специализированная страница Бродяге, и Шеф-повар на сайте Opscode (обновите 23.01.2015: страница пошла...).
Существует cucumber-chef
рубиновый драгоценный камень и недавно выпущенная книга Nelson-Smith и др. - "Инфраструктура, на Которой делают пробную поездку, с Шеф-поваром", который использует тот драгоценный камень - http://www.cucumber-chef.org/
Просто помнивший это из моего списка наблюдения GitHub: https://github.com/gregretkowski/vmth/
VMTH (Тестовая обвязка Виртуальной машины) предоставляет механизм модульному тесту Ваша автоматизация инфраструктуры - марионеточные политики, рецепты шеф-повара, сценарии развертывания выпуска, и т.д. Это использует функции современных мониторов VM (как qemu), чтобы создать снимки состояние системы и затем сбросить то состояние после каждого теста, так, чтобы серия тестов могла быть выполнена на экземпляре VM в быстрой последовательности
По моему опыту, единственный способ действительно сделать это со средой подготовки и осторожными методами разработки. Насмешка фактической работы, которая будет сделана, невероятно грязна и хрупка, и наборы тестов CI, работающие на фиксации или нажатии, являются большим усилием записать и поддержать (хотя Шеф-повар, вероятно, намного лучше в этом, чем Марионетка, которая является моим основным опытом), и займите смешное количество времени для выполнения.
Править
Сразу после того, как я записал это, я внезапно понял, что мог бы быть способ сделать довольно эффективное тестирование "единицы" рецептов Шеф-повара/Марионетки с файловой системой объединения и существенным количеством лесов. Однако я ничего не могу найти там, что любой уже сделал в этой области. Я, возможно, просто нашел меня проектом.
Есть несколько вариантов.
Opscode имеет в плане разработки Chef "no-op" поддержка, которая поможет с тестированием. Мы действительно утверждаем , что «бездействие» не обязательно делает то, что вы хотите, но понимает желание этой функции.
Некоторые ответы здесь кажутся немного устаревшими. Для CI и локального тестирования я бы рассмотрел возможность использования инструмента тестирования, такого как Test Kitchen , который также поддерживает Vagrant, если вы его уже использовали.
Это позволит вам запускать свои куки во многих облаках. и решения для виртуализации, существующие сегодня: EC2, Digital Ocean, Vagrant, Docker и т. д.
В нем также есть плагины, позволяющие запускать один из многих инструментов тестирования инфраструктуры, существующих сегодня: