2016-08-09 96 views
1

Ich führe Chef InSpec Befehlsressource, die Ausgabe des Befehls mit Inhalt aus einer Datei übereinstimmt. Dann lösche ich diese Datei nach der Verwendung der folgenden Ressource. Der folgende Befehl gibt jedoch "" zurück und der Test schlägt fehl.Verwenden einer Chef InSpec-Ressource vor dem Löschen einer Datei

Wenn ich die Datei nicht lösche, gibt der obige Befehl die erwartete Ausgabe zurück. Gibt es ein Problem mit InSpec-Ressourcen und das Löschen einer Datei?

Antwort

1

Rspec (und damit InSpec) hat sein eigenes Zwei-Pass-Lademodell, das dem Chef ähnlich ist (aber nicht verwandt und verschieden). Das bedeutet, dass Sie es wahrscheinlich löschen, bevor der Test ausgeführt wird, auch wenn es danach im Code aussieht. Versuchen Sie es mit einem after(:all) Block? Das ist der Weg, um es in normalen RSpec zu tun, aber InSpec weicht an einigen Stellen von Rspec ab, also bin ich nicht 100%, es wird funktionieren.

+0

Danke @coderanger. Es hat sehr geholfen. Nachdem ich ein wenig mit Syntax und etwas Aufwand gespielt habe, funktionierte es nicht so wie 'RSpec'. – saurg