2017-08-10 10 views
0

Ich fand einen Weg in InSpec zu testen, ob Python-Module mit Chef installiert wurden oder nicht, aber ich verwende ChefSpec und ich kann keine Alternative finden. Weiß jemand, ob es eine Möglichkeit gibt, zu überprüfen, ob ein bestimmtes Pip-Modul mit installiert wurde?ChefSpec Test, ob Python-Module installiert wurden

Antwort

1

ChefSpec testet keine Nebeneffekte, Sie überprüfen also nicht das Modul selbst, sondern schauen sich an, welche Ressourcen für die Ausführung geplant waren. Wenn Sie Poise-Python verwenden, würde das einen Test wie folgt bedeuten:

it { is_expected.to install_python_package('foo') } 
+0

danke! Dies ist definitiv, was ich will, aber wenn ich es in meine Tests aufnehmen, bekomme ich einen Fehler 'NoMethodError: undefined Methode 'find_resource' für" (mein Testkontext) ": String' - es zeigt auf die Zeile mit Ihrer Aussage als der Fehler (ich ersetzte "foo" durch ein tatsächliches Paket). Weißt du, was dieses Problem verursachen könnte? – mjkaufer

+0

Die Verwendung von 'is_expected' setzt voraus, dass Sie' subject {ChefSpec ... konvergieren (beschrieben_recipe)} '' haben. Wenn Sie eine andere "let" -Variable verwenden, müssen Sie die RSpec-y-Bits anpassen. – coderanger

Verwandte Themen