Лучшая практика для тестирования рецептов шеф-повара?

  1. Попытайтесь дать полный путь для исполняемого файла PHP как/usr/bin/php
  2. Попытайтесь перенаправить вывод в некоторый файл так, чтобы Вы видели вывод
18
задан 11 August 2011 в 05:18
5 ответов

Вы могли бы (также) изучить Бродягу для этого.
Видео показывает, как использовать комбинацию поваренных книг Бродяги и Шеф-повара. И существует специализированная страница Бродяге, и Шеф-повар на сайте Opscode (обновите 23.01.2015: страница пошла...).

7
ответ дан 2 December 2019 в 20:26

Существует cucumber-chef рубиновый драгоценный камень и недавно выпущенная книга Nelson-Smith и др. - "Инфраструктура, на Которой делают пробную поездку, с Шеф-поваром", который использует тот драгоценный камень - http://www.cucumber-chef.org/

Просто помнивший это из моего списка наблюдения GitHub: https://github.com/gregretkowski/vmth/

VMTH (Тестовая обвязка Виртуальной машины) предоставляет механизм модульному тесту Ваша автоматизация инфраструктуры - марионеточные политики, рецепты шеф-повара, сценарии развертывания выпуска, и т.д. Это использует функции современных мониторов VM (как qemu), чтобы создать снимки состояние системы и затем сбросить то состояние после каждого теста, так, чтобы серия тестов могла быть выполнена на экземпляре VM в быстрой последовательности

3
ответ дан 2 December 2019 в 20:26

По моему опыту, единственный способ действительно сделать это со средой подготовки и осторожными методами разработки. Насмешка фактической работы, которая будет сделана, невероятно грязна и хрупка, и наборы тестов CI, работающие на фиксации или нажатии, являются большим усилием записать и поддержать (хотя Шеф-повар, вероятно, намного лучше в этом, чем Марионетка, которая является моим основным опытом), и займите смешное количество времени для выполнения.

Править

Сразу после того, как я записал это, я внезапно понял, что мог бы быть способ сделать довольно эффективное тестирование "единицы" рецептов Шеф-повара/Марионетки с файловой системой объединения и существенным количеством лесов. Однако я ничего не могу найти там, что любой уже сделал в этой области. Я, возможно, просто нашел меня проектом.

0
ответ дан 2 December 2019 в 20:26

Есть несколько вариантов.

Opscode имеет в плане разработки Chef "no-op" поддержка, которая поможет с тестированием. Мы действительно утверждаем , что «бездействие» не обязательно делает то, что вы хотите, но понимает желание этой функции.

1
ответ дан 2 December 2019 в 20:26

Некоторые ответы здесь кажутся немного устаревшими. Для CI и локального тестирования я бы рассмотрел возможность использования инструмента тестирования, такого как Test Kitchen , который также поддерживает Vagrant, если вы его уже использовали.

Это позволит вам запускать свои куки во многих облаках. и решения для виртуализации, существующие сегодня: EC2, Digital Ocean, Vagrant, Docker и т. д.

В нем также есть плагины, позволяющие запускать один из многих инструментов тестирования инфраструктуры, существующих сегодня:

  • serverpec - Большинство популярный фреймворк для тестирования.
  • goss - YAML, простой, автономный двоичный, чрезвычайно быстрый.
  • inspec - считайте его улучшенным сервером (написанным шеф-поваром).
  • testinfra - на основе Python среда тестирования сервера.
1
ответ дан 2 December 2019 в 20:26

Теги

Похожие вопросы