2016-09-07 4 views
9

Wenn ich PyTest laufen lasse, erhalte ich einige Tests mitPyTest-Rekursionsprüfung deaktivieren?

jedoch
.... 
!!! Recursion detected (same locals & position) 

versagt, wenn ich die Tests manuell ausführen, wie ich sehe, dass es keine unendliche Rekursion ist. Mein Code tut etwas seltsames Zeug, das wahrscheinlich Pyret's Rekursionsdetektor des Tricks ist.

Gibt es eine Möglichkeit, die Rekursionsprüfung für bestimmte Tests zu deaktivieren?

Ich bin mit PyTest 3.0.1

+0

Diese Zeile [wird nur gedruckt, wenn ein 'RecursionError' (oder' RuntimeError' auf Py3.4 oder niedriger) geworfen wird] (https://github.com/pytest-dev/pytest/blob/master/_pytest/ _code/code.py # L606-L607). Sind Sie sicher, dass Ihre Umgebung beim manuellen Aufruf * exakt * die gleiche ist wie unter Pytest? – theY4Kman

Antwort

0

Wenn Sie return_value auf einer verspottete Funktion setzen, die von Ihrem rekursiven Code verwiesen wird, verwenden side_effect statt.

Verwandte Themen