Тестова кухня
Використовуйте Test Kitchen для автоматичного тестування кулінарних книг на будь-якій комбінації платформ та тестових наборів:

- Тестові набори визначаються у файлі kitchen.yml. Ознайомтесь з документацією щодо конфігурації, щоб дізнатися параметри та інформацію про синтаксис.
- Підтримує тестування кулінарних книг у багатьох постачальниках хмарних технологій та технологій віртуалізації.
- Використовує повний набір базових зображень операційної системи за проектом Chef’s Bento.
Ключові поняття в тестовій кухні:
- Платформа - це операційна система або цільове середовище, на якому має тестуватися кулінарна книга
- Набір - це конфігурація Chef Infra Client, файл політики або список запуску та (необов’язково) атрибути вузла
- Екземпляр - це комбінація певної платформи та конкретного набору, причому кожному екземпляру присвоюється автоматично сформоване ім’я
- Драйвер - це життєвий цикл, який реалізує дії, пов’язані з певним екземпляром - створіть екземпляр, виконайте те, що потрібно для зближення на цьому екземплярі (наприклад, встановіть Chef Infra Client, завантажте кулінарні книги, запустіть запуск Chef Infra Client тощо), налаштуйте все, що потрібно для тестування, перевірте один (або кілька) наборів після конвергенції, а потім знищте цей екземпляр
- Провайзер - це компонент, на якому буде запущений код клієнта інфрачервоного клієнта, використовуючи chef-zero або chef-solo через chef_zero та chef_solo, відповідно.
Бенто
Bento - це проект програмного забезпечення шеф-кухаря, який виробляє базове тестування VirtualBox, Parallels та VMware для декількох операційних систем для використання з Test Kitchen. За замовчуванням Test Kitchen використовує базові зображення, надані Bento, хоча власні зображення також можна створювати за допомогою HashiCorp Packer.
Водії
Test Kitchen використовує архітектуру плагіна драйвера, щоб дозволити Test Kitchen тестувати екземпляри хмарних провайдерів, таких як Amazon EC2, Google Compute Engine та Microsoft Azure. Ви також можете протестувати на декількох локальних гіпервізорах, таких як VMware, Hyper-V або VirtualBox.