Blog

AWS Lambda Einheitstests mit Python

Dennis Vriend

Aktualisiert Oktober 21, 2025
2 Minuten

Eine Lambda-Funktion sollte getestet werden, bevor sie bei AWS bereitgestellt wird. Mit Python ist es ganz einfach, Ihre Lambda-Funktion zu testen:die pytest-Bibliothek. In diesem Blog werden wir Ihnen zeigen, wie Sie Ihre Lambda-Funktionen testen können.

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 befinden sich im Ordner und die Testdateien befinden sich im Ordner . Beachten Sie, dass sowohlder Lambdas- als auch der Test-Ordner die dunder-init-Dateien enthalten. Diese Datei ist notwendig, damit PythonPakete auflösen kann. Die Tests für das Lambda lambdas/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 Funktionmit dem Namen wird zuerst in die Symboltabelle importiert. Es gibt einen einzigen Test mit dem Namen , derdie Antwort des Lambdas bestätigt, wenn es aufgerufen wird. Die Antwort entspricht einer korrekten ApiGatewayProxyResponse-Datenstruktur.

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 ein.Um die URL des API-Gateways zu erhalten, geben Sie ein. Um das Beispiel zu entfernen, 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

Contact

Let’s discuss how we can support your journey.