2017-03-16 4 views
3

Ich habe die Anforderung, Testfälle mit Gesamt-Timeout zu stoppen, nicht auf Testfallebene. Also wenn ich sage, dass ich 300 Testfälle habe, möchte ich Timeout mit Gesamtzeit als 300 Sekunden.Timeout für alle Testfälle in pytest

Gibt es eine Möglichkeit, das zu tun? Beispielbefehl verwendete pytest pytest.py --junitxml = Artefakte/junitresults.xml es --gatherlogs = true --durations = 2000 Tests/Funke

Antwort

3

werfen Sie einen Blick auf dieser pytest Plugin auszuführen: https://pypi.python.org/pypi/pytest-timeout es am meisten passt wahrscheinlich zu Ihrem Anwendungsfall.

Sie eine globale Timeout in einer Reihe von Möglichkeiten einstellen, die einfachste man die --timeout Befehlszeilenoption ist, dass „setzt eine globale Timeout überschreibt sowohl die Umgebungsvariable und Konfigurationsoption“, nach dem die Tests beendet werden:

py.test --timeout=300 
+0

Mit diesem kann ich Timeout auf Testfall Ebene haben, aber ich möchte Timeout für alle Testfälle haben. Ist es möglich, eine allgemeine Zeitüberschreitung zu haben? –

+0

Ja, Sie können, wie in der PyPi-Beschreibung angegeben, ein Befehlszeilenargument dafür angeben. Ich habe die Antwort aktualisiert, um diesen Punkt zu verdeutlichen. –

Verwandte Themen