2012-12-05 9 views
5

Ich habe eine komplexe tox.ini-Konfiguration mit mehreren Umgebungen für verschiedene Versionen von Python.Wie konfiguriere ich tox so, dass es pytest Abdeckung in einer einzigen Umgebung anstelle von allen läuft?

Ich würde gerne wissen, wie man tox zu sagen, Abdeckung nur auf dem Standard-Python-Interpreter ausführen.

Eines der Probleme ist, dass die Standard-Python-Umgebung von Plattform zu Plattform unterschiedlich sein kann.

Ich habe ein Wrapper-Skript, das tox -e py25,py26,docs aufruft, wobei die Argumente -e die erkannten Versionen von Python sind.

Gewünschtes Verhalten: Führen Sie pytest mit Abdeckung für eine einzelne Umgebung (das soll integriert mit jenkins ausgeführt werden).

Antwort

4

Ich denke, dass Sie die [testenv:py] Umgebung verwenden und einschließen können, die den Python-Interpreter verwendet, mit dem Tox selbst aufgerufen wird. Wenn Sie den Coverage-Lauf dort definieren, sollten Sie bekommen, was Sie wollen.

+0

Danke, das ist, was ich gesucht habe! Jetzt kann ich tox in zwei Modi einrichten: schnell (run only 'py') und voll (run mit allen verfügbaren Interpretern einschließlich Ausführung auf entfernten Plattformen über pytest-xdist). – sorin

+0

Hallo, bitte aktualisieren Sie die Antwort, um die Funktionsweise einzuschließen. Ich habe gerade versucht, diese Umgebung zu verwenden, aber sie hat tatsächlich keine Abdeckung erreicht. Ich versuche mit Python 2.7.5 und 3.4.4 zu testen. Vielen Dank. – Efren