Wir haben kein SQS-Konstrukt in unserem Stack, aber die Durchsicht des Beispieltests bietet einen gewissen Einblick in das Testen eines Konstrukts. Löschen wir den automatisch generierten Beispieltest und erstellen wir unseren eigenen Test.
Einrichten der Testfunktion
Erstellen wir zunächst eine wiederverwendbare Funktion, um die CloudFormation-Vorlage vom Stapel abzurufen:
DynamoDB-Tabelleneigenschaften testen
Wir beginnen mit dem Hinzufügen eines Tests, um zu überprüfen, ob die Tabelle DynamoDB in unserem Stapel die richtigen Eigenschaften hat. So geht's:
Testen von Lambda-Funktionen
Stellen Sie als Nächstes sicher, dass unser Stack die richtige Anzahl an Lambda-Funktionen erstellt und deren Laufzeitversion überprüft:
Tests ausführen
Um Tests auszuführen, können Sie pytest im Terminal ausführen:
pytest
Unten finden Sie die Ausgabe, die Sie erhalten sollten:
================================================================================= test session starts =================================================================================platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshareplugins: typeguard-2.13.3collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%]================================================================================= 2 passed in 21.86s ==================================================================================
Abschluss
In Teil 3 unserer Serie haben wir gelernt, wie wir unsere CDK-Konstrukte testen. Im letzten Teil werden wir untersuchen, wie man Lambda-Funktionen lokal testet.
Ressourcen
Willkommen zu Teil 3 von „Erkunden von AWS Serverless Deployments mit CDK v2“. Zunächst möchte ich Ihnen für Ihre Geduld danken, da seit Teil 2 eine kleine Lücke entstanden ist. Ich war bei der Arbeit mit dem Lernen und der Arbeit an serverlosen Projekten beschäftigt, was mich davon abgehalten hat, aber ich freue mich darauf, wieder auf den richtigen Weg zu kommen und setzen Sie unsere Erkundung fort.
In früheren Beiträgen haben wir unsere Konstrukte definiert und in AWS bereitgestellt. Heute konzentrieren wir uns auf eine wesentliche Praxis: das Testen. Durch ordnungsgemäße Tests wird sichergestellt, dass unsere Bereitstellungen wie erwartet funktionieren, und können uns vor potenziellen Problemen bewahren.
Erste Schritte mit dem Testen
Um zu beginnen, müssen Sie pytest zu den Abhängigkeiten Ihres Projekts hinzufügen (die Hauptdatei requirements.txt für unseren Stack).
pip install -r requirements.txt
Navigieren Sie in unserem Projekt zum Verzeichnis test, dann zu unit und öffnen Sie die Datei test_rss_lambda_ddb_socialshare_stack.py. Diese automatisch generierte Testdatei enthält einen Beispieltest.
Wir haben kein SQS-Konstrukt in unserem Stack, aber die Durchsicht des Beispieltests bietet einen gewissen Einblick in das Testen eines Konstrukts. Löschen wir den automatisch generierten Beispieltest und erstellen wir unseren eigenen Test.
Einrichten der Testfunktion
Erstellen wir zunächst eine wiederverwendbare Funktion, um die CloudFormation-Vorlage vom Stapel abzurufen:
DynamoDB-Tabelleneigenschaften testen
Wir beginnen mit dem Hinzufügen eines Tests, um zu überprüfen, ob die Tabelle DynamoDB in unserem Stapel die richtigen Eigenschaften hat. So geht's:
Testen von Lambda-Funktionen
Stellen Sie als Nächstes sicher, dass unser Stack die richtige Anzahl an Lambda-Funktionen erstellt und deren Laufzeitversion überprüft:
Tests ausführen
Um Tests auszuführen, können Sie pytest im Terminal ausführen:
pytest
Unten finden Sie die Ausgabe, die Sie erhalten sollten:
================================================================================= test session starts ================================================================================= platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0 rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshare plugins: typeguard-2.13.3 collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%] ================================================================================= 2 passed in 21.86s ==================================================================================
Abschluss
In Teil 3 unserer Serie haben wir gelernt, wie wir unsere CDK-Konstrukte testen. Im letzten Teil werden wir untersuchen, wie man Lambda-Funktionen lokal testet.
Ressourcen
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3