Ich verstehe, dass Test-Küche die SequenzTest Kitchen Integrationstests mit Chefspec: Testkochbuch mit Abhängigkeiten
Knoten erstellen folgt> konvergieren Kochbuch> laufen Tests
Was ist die beste Praxis, einen Test zu erstellen, die eine übernimmt starke externe Abhängigkeit? Ein Beispiel ist das Kafka Kochbuch https://supermarket.chef.io/cookbooks/kafka. Wie Sie vielleicht wissen, ist Kafka eine Messaging-Broker-Anwendung, die von Zookeeper abhängt, einer separaten Anwendung, die der Nachrichten-Hub ist.
Nach richtiger Trennung der Bedenken enthält das Kafka-Kochbuch keinen Zookeeper - er kann auf demselben Host oder auf einer anderen Maschine installiert werden.
Um jedoch eine einfache Überprüfung durchzuführen, wenn Kafka funktioniert (d. H. Eine einfache Nachricht erstellen), muss ein Zookeeper-Server ausgeführt werden.
Zum Beispiel könnte der Test
# creates a message topic
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test
# lists existing message topics
bin/kafka-list-topic.sh --zookeeper localhost:2181
# sends a message to this machine
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Mit Chefspec diese drei Befehle nach der Installation ausgeführt werden, ist es eine Möglichkeit, diese externen Server Stub (der localhost: 2181 Teil oben)?
Vielen Dank!
Vielen Dank für Ihre Antwort, und ein großes Lob an die Anwendung Kochbuch! Ich arbeite mit einem .Net-Projekt, werde sehen, ob ich Ihr Kochbuch anstelle der Sequenz von Powershell-Befehlen verwenden kann, die ich gerade verwende. In Bezug auf die Prüfung, ich bevorzuge es, Ihren Ansatz der Aufnahme der abhängigen Rezeptur im Hauptrezept nur für Tests zu vermeiden. Ich werde jedoch versuchen, das Test/Kochbuch zu machen und sehen, ob es das Problem löst. Aktualisieren Sie bald. Prost! –