Was ist ChefSpec?
ChefSpec ist ein Unit-Testing Framework zum Testen von Cookbooks. ChefSpec macht es Ihnen einfach, Beispiele zu schreiben und schnelles Feedback zu Cookbook Änderungen zu erhalten, ohne dass dafür virtuelle Maschinen oder Cloud-Server benötigt werden.
ChefSpec stellt eine Methode bereit, mit der wir eine speicherinterne Ausführung erstellen mit dem Anwenden der Run-Liste, die Ressourcenauflistung erstellen und dann Erwartungen über den Status der Ressourcenauflistung festlegen können. ChefSpec, ähnlich wie InSpec, baut auf RSpec auf. Der Vorteil für uns ist, dass viele der gleichen Sprachkonstrukte verwendet werden.
Bei der Erstellung von Recipes erhalten wir auch eine passende Spezifikationsdatei im Verzeichnis ‘spec / unit’. Die von ChefSpec definierten Spezifikationen sind alle in diesem Verzeichnis enthalten.
Beispiel
require 'chefspec'
require 'chefspec/berkshelf'
describe 'git::default' do
let(:chef_run) { ChefSpec::SoloRunner.converge(described_recipe) }
it 'install git package' do
expect(chef_run).to install_package('git')
end
end
- Zuerst inkludieren wir das ChefSpec Gem, damit wir es im Test verwenden können
- Der Rest ist einem RSpec-Test sehr ähnlich
- Wir definieren, welcher ChefSpec-Runner für den Test verwendet wird
- Schließlich wollen wir überprüfen, ob das Git-Paket installiert wurde
Die README von ChefSpec bietet eine Menge von Beispielen. In der Vergangenheit war ein ‘include_recipe’ Beispiel eines von vielen in der README. Das ChefSpec-Projekt enthält einen übergeordneten Ordner mit dem Namen “examples”, der Beispiele für fast alle Funktionen enthält, mit denen ChefSpec Erwartungen definieren kann. Dieser enthält einen Ordner mit dem Titel “include_recipe”, in dem Recipes und die entsprechenden Spezifikationen angezeigt werden sollen.
Wollen Sie mehr über Chef und ChefSpec erfahren? Dann sehen Sie sich unsere Chef Trainings an.

Du willst mehr über dieses Thema lernen?
Wissen pur lernt man nicht aus Büchern oder gibt es nicht in Kapselform. Die effektivste Form des Trainings ist immer noch mit Sparringpartnern und einem Guide. Daher bieten wir als Commandemy Schulungen für den IT-Experten von Morgen an.
Werde zum unumstrittenen König des Codes und schau dir jetzt unseren aktuellen Kurse an!
Zu den aktuellen Kursen