Frage

ist meine Build-Umgebung kompilieren konfiguriert, ausgeführt und Berichterstattung Datei in der Befehlszeile (mit Ned Batchelder coverage.py Tool) zu erstellen.

Ich bin mit Eclipse mit PyDev als meinen Editor, aber aus praktischen Gründen ist es nicht möglich / bequem für mich, meine ganze Build-Umgebung zu konvertieren Eclipse (und damit die Abdeckung Daten direkt aus den IDE zu erzeugen, wie es konzipiert ist tun)

PyDev scheint das gleiche Abdeckung Werkzeug (oder etwas sehr ähnlich) wurde mit ihrer Berichterstattung Informationen zu generieren, so vermute ich, es sollte meine externe Berichterstattung über die Integration von Dateien in Eclipse / PyDev einen Weg geben.

Jede Idee, wie dies zu tun?

War es hilfreich?

Lösung

Ich brauchte genau so etwas wie dies vor einiger Zeit, als PyDev noch eine ältere Version von coverage.py als die zugänglich aus dem Skript Schöpfer Seite verwendet wird.

Was ich tat Nachweis wurde, wo PyDev wurde seine .coverage Datei zu speichern. Für mich war es:

 C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage

Dann lief ich manuell eine neue Version von coverage.py aus einem separaten Skript und gesagt, dass ihm seine .coverage Datei an dem Ort zu speichern, wo PyDev seine spart. Ich kann mich nicht erinnern, ob es ein Befehlszeilenargument ist oder coverage.py wenn ich einfach die .coverage Datei mit einem Skript kopiert, aber danach, wenn Sie einfach öffnen Sie die Code Coverage Ergebnisse anzeigen und klicken Sie auf Aktualisieren Berichterstattung Informationen! , PyDev wird schön die Daten verarbeiten, als ob er die Datei selbst erzeugt wird.

Andere Tipps

Ich weiß nichts über PyDev die Integration von coverage.py (oder wenn es selbst verwendet coverage.py), aber die .coverage Dateien sind ziemlich einfach. Sie sind marhsal'ed Wörterbücher.

Ich habe diesen Code nicht getestet, aber Sie können versuchen, diese zu kombinieren zwei .coverage Dateien in einem:

import marshal
c1_dict = marshal.load(open(file_name_1, 'rb'))
c2_dict = marshal.load(open(file_name_2, 'rb'))
c1_dict.update(c2_dict)
marshal.dump(c1_dict, open(file_name_out, 'wb'))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top