Моя команда створила велику кількість кухарських книг кухарів. Мені було цікаво, які методи та рамки я повинен вивчити, щоб ми могли почати створювати тести, щоб переконатися, що наші вузли налаштовані належним чином?
Моя команда створила велику кількість кухарських книг кухарів. Мені було цікаво, які методи та рамки я повинен вивчити, щоб ми могли почати створювати тести, щоб переконатися, що наші вузли налаштовані належним чином?
Відповіді:
Існує cucumber-chef
рубінова дорогоцінний камінь і нещодавно випущена книга Нельсона-Сміта та ін. - "Тест-керована інфраструктура з шеф-кухарем", яка використовує цей дорогоцінний камінь - http://www.cucumber-chef.org/
Щойно згадав про це з мого списку спостереження github: https://github.com/gregretkowski/vmth/
VMTH (Virtual Test Harness) містить механізм тестування автоматизації вашої інфраструктури - маріонеткові політики, рецепти шеф-кухарів, сценарії розгортання випуску тощо. Він використовує функції сучасних моніторів VM (наприклад, qemu) для зйомки стану системи, а потім скидання. цей стан після кожного тесту, так що серія тестів може бути виконана на екземплярі VM швидко
Існує ряд варіантів.
Підтримка Opscode має в дорожній карті розробки Chef підтримку "no-op", яка допоможе при тестуванні. Ми стверджуємо, що "без операції" не обов'язково робити те, що ви хочете, але розуміє прагнення до функції.
Деякі відповіді тут здаються трохи застарілими. Для CI та локального тестування я б розглядав можливість використання інструменту тестового ремесла, як Test Kitchen, який також підтримує Vagrant, якщо ви його вже використовували.
Це дозволить вам запустити куб-кукси проти багатьох хмарних і віртуалізаційних рішень сьогодні: EC2, Digital Ocean, Vagrant, Docker тощо.
Він також має плагіни, які дозволяють запустити один із багатьох інструментів тестування інфраструктури, які існують сьогодні там:
На мій досвід, єдиний спосіб реально це зробити - це постановка середовища та ретельна практика розвитку. Знущання над фактичною роботою, яка повинна бути виконана, надзвичайно безладна і тендітна, а тестові набори CI, що працюють на фіксації чи натисканні, доклали багато зусиль для написання та підтримки (хоча шеф-кухар, мабуть, набагато краще, ніж Маріонетка, що є моїм головним досвідом ), і зайняти смішну кількість часу для бігу.
EDIT
Тільки-но після того, як я написав це, я раптом зрозумів, що може бути спосіб зробити досить ефективне "одиничне" тестування рецептів шеф-куклів з файловою системою об'єднання та значним обсягом лісів. Однак я не можу знайти нічого, що хтось уже робив у цій галузі. Я, можливо, щойно знайшов собі проект.