2014-04-06 7 views
8

Wie kann man einen genauen Testbericht erhalten, wenn py.test + gevent verwendet wird?Bestimmung der Testabdeckung mit py.test + gevent

Ich habe bereits die offensichtliche Sache versucht, mit dem pytest-cov Plugin für py.test, aber es generates inaccurate reports when gevent is in use.

+0

+1 Ich habe das exakt gleiche Problem ... Ich habe versucht, Git + https: //github.com/newbrough/coverage.git und das hat wirklich gut funktioniert, aber vor kurzem pytest beschweren sich, dass die Version zu alt ist und schlägt fehl. –

Antwort

5

Die gevent coverage issue wurde kürzlich in coveragepy behoben.

pytest-cov funktioniert jedoch nicht mit coverage>=4.

Eine mögliche Lösung, py.test mit den späteren Versionen von coverage.py zu laufen, ohne das pytest-cov Plugin zu verwenden.

Zuerst installieren coverage >= 4 und deinstallieren Sie das pytest-cov Plugin:

pip install --pre --upgrade coverage 
pip uninstall pytest-cov 

Fügen Sie folgende Einstellung .coveragerc:

[run] 
concurrency = gevent 

Dann laufen mit:

coverage run -m py.test 

(statt der regelmäßig py.test laufen)

+0

Das hat absolut genial für mich funktioniert. –