- Pipenv
- Python 3.6
pipenv install --dev
Für Entwicklungszwecke reicht der von Flask mitgelieferte Webserver, der auch automatisch bei Codeänderungen neu startet.
pipenv shell
export FLASK_APP=app.py
flask run
Der integrierte Webserver ist weder sonderlich sicher noch performant daher bietet es sich an etwas sinnvolleres zu verwenden. Mit pipenv install
ist auch gunicorn
installiert.
gunicorn --bind 0.0.0.0:8080 app:application
Reicht diesen zu starten.
Für Testing kommt pytest zum Einsatz. Die Integration für Flask ist hier beschrieben.
pytest -s
Möchte man auch Informationen über Code coverage haben reicht
coverage run --source './' --omit './test/*' -m pytest
Mit coverage report -m
erhält man denn den Bericht über die Code-Coverage.
Testcases lassen sich in Klassen organisieren. Sie sollten im Unterordner Test liegen und folgendem Schema folgen:
import pytest
from .TestConnexion import TestConnexion
@pytest.mark.usefixtures('client')
class TestDemo(TestConnexion):
"""A demo test without real purpose
"""
def test_example(self, client):
assert True
Der client
ermöglicht es dann Anfragen an die API zu schicken. Die Funktionsweise ist in der Dokumentation von Flask erklärt.