Hier erfahren Sie, wie Sie eine mit Pyramid entwickelte App mit WebTest funktionsfähig testen können [http://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/functional_testing.html]. Wenn ich versuche, diesen Test mit pytest durchzuführen, funktioniert er nicht. Wie im Originaldokument angegeben. "pytest enthält möglicherweise nicht Ihre Tests."
Wenn ich die Pytest-Dokumentation lese, habe ich das Gefühl, dass die Verwendung von "unittest" nicht funktioniert. Beispielsweise funktioniert der parametrisierte Test nicht, wenn die Testklasse eine Unterklasse von unittest ist (http://stackoverflow.com/questions/18182251/does-pytest-parametrized-test-work-with-unittest- klassenbasierte Tests).
Deshalb sieht die Konfiguration zum Testen der Pyramiden-App mit pytest + webtest so aus.
conftest.py
import pytest
def pytest_report_header(config):
return "sample: functional tests"
@pytest.fixture
def app():
""" prepare test target app """
from app import main
main_app = main({})
from webtest import TestApp
return TestApp(main_app)
tests.py
import pytest
@pytest.mark.usefixtures("app")
def test_not_found(app):
res = app.get('/', status=404)
Unten weggelassen
Schließlich habe ich das Gefühl, ich kann einen Test mit pytest schreiben. Ich denke, der parametrisierte Test ist am bequemsten.
Referenz