2008-11-07 4 views
26

Ich habe bereits Preferred Python unit-testing framework besucht. Ich betrachte nicht nur das Python Unit Testing Framework, sondern auch die Codeabdeckung in Bezug auf Komponententests. Bisher bin ich nur auf coverage.py gestoßen. Gibt es eine bessere Option?Code Coverage und Unit Testing von Python Code

Eine interessante Option für mich ist mit Visual Studio 2008 durch Plugins (etwas Ähnliches wie IronPython Studio) cpython, Unit-Tests von Python-Code und Code-Coverage von Python-Code zu integrieren. Was kann getan werden, um dies zu erreichen? Ich freue mich auf Vorschläge.

+6

Vielleicht könnten Sie "besser" definieren. Was möchtest du tun, dass coverage.py nicht funktioniert? Wie brauchen Sie es besser zu sein? –

+0

Ich bezog mich auf Beschränkungen (Abschnitt 4 von http://nedbatchelder.com/code/modules/ree-coverage.html), als ich "besser" erwähnte. – bhadra

+1

Ich würde hinzufügen, dass die Integration von coverage.py mit IDEs (Eclipse, in meinem speziellen Fall) wäre großartig. – Kena

Antwort

4

PyDev scheint Codeabdeckung von innerhalb Eclipse zu erlauben.

Ich muss noch herausfinden, wie ich das mit meinem eigenen (ziemlich komplexen) Build-Prozess integrieren kann, also benutze ich ned Batchelders coverage.py in der Befehlszeile.

+1

Ich empfehle einen Besuch auf http://StackOverflow.com/Questions/2262777/How-to-get-unit-test-coverage-results-in-eclipse-pydev – bhadra

2

Es gibt auch figleaf, die ich denke, basiert auf Ned Batchelder coverage.py basiert. Wir verwenden nose als Treiber für das Testen. Es funktioniert alles sehr gut. Wir schreiben unsere Komponententests mit den integrierten Komponententest- und Doctest-Modulen.

0

Testoob hat eine ordentliche Befehlszeilenoption "--coverage", um einen Abdeckungsbericht zu erstellen.

+0

Orip, welcher Zweig von Testoob hat die Option --coverage? Ich habe die Version 1.13 zur Zeit installiert, aber diese Option scheint es nicht zu geben. Prost H –

+0

Ah, ignorieren Sie das. Liest die Dokumente nicht richtig. Für andere interessierte Parteien, die folgende Syntax verwenden: testoob --coverage = normal test_file.py Arten der Berichterstattung sind leise, schlank, normal, massiv oder xml –

+0

@howard: glad you like it :) Da ist eine neue Version mit einigen Coverage-Verbesserungen kommt bald heraus. – orip

2

Die neue Python-Unterstützung von NetBeans hat die Code Coverage-Unterstützung eng integriert - more info here.