Eine Lambda-Funktion sollte getestet werden, bevor sie bei AWS bereitgestellt wird. Mit Python ist es ganz einfach, Ihre Lambda-Funktion zu testen:
Testen Sie
Das Testen von Code ist eine großartige Möglichkeit, um festzustellen, ob Codeeinheiten für die Verwendung geeignet sind. Durch den Aufruf von Code und die Überprüfung des Ergebnisses erhalten Sie eine allgemeine Vorstellung davon, wie der Code funktionell funktioniert.
Projekt einrichten
Das Beispielprojekt hat die folgende Struktur. Dielambdas/python_function.py werden tests/test_python_function.py genannt.
Tests können durch Eingabe von pipenv run pytest -v -s tests ausgeführt werden, wodurch alle Tests ausgeführt werden.
├── LICENSE
├── Makefile
├── Pipfile
├── README.md
├── config
│ ├── config.yaml
│ └── inlined
│ └── api-gateway.yaml
├── lambdas
│ ├── __init__.py
│ └── python_function.py
├── templates
│ └── api-gateway.yaml
└── tests
├── __init__.py
└── test_python_function.py
Ein Beispieltest
Die Datei tests/test_python_function.py enthält einen einzigen Test, der die Antwort des Lambdas bestätigt. Die Funktion
from lambdas.python_function import *
from tests import *
def test_python_function():
resp = handler(api_gateway_event({}), None)
assert resp == {‘statusCode‘: 200, ‘body‘: ‘“Hello Python“‘}
Testen, Zusammenführen und Bereitstellen
Das Beispielprojekt zeigt, wie ein Lambda für AWS erstellt, zusammengeführt und bereitgestellt wird
. Das Projekt verwendet Inline-Lambdas und wird in meinem vorherigen Blog erklärt
AWS Lambda Inlined in CloudFormation.
Ich gehe davon aus, dass Sie einen Mac mit installiertem Python, pipenv, sceptre haben. Zum Testen, Zusammenführen und Bereitstellen des Beispiels geben Sie make delete ein.
Fazit
Python macht es einfach, AWS Lambda-Code mit Hilfe der pytest-Bibliothek zu testen. Durch den Aufruf von Code und die Überprüfung des Ergebnisses erhalten Sie eine allgemeine Vorstellung davon, wie Ihr Code funktionell funktioniert. Ich empfehle , Ihren gesamten Lambda-Code zu testen, bevor Sie ihn bei AWS bereitstellen.
Verfasst von
Dennis Vriend
Unsere Ideen
Weitere Blogs
Contact




