2012-09-11 9 views
7

Ich arbeite an einem .NET-Projekt, das Jenkins als CI-Server verwendet. Der Server arbeitet wie es sollte, aber jetzt versuche ich es Warnungen bei geringen Code-Coverage- emittieren zu machen.Gibt es eine Möglichkeit, von OpenCover generierte Code Coverage-Metriken zurück zu Jenkins zu erhalten?

Der Ansatz, den ich versuche Sonar verwenden NUnit und OpenCover auszuführen, aber ich brauche die Code-Coverage- Metriken von Sonar zurück zu Jenkins und das ist, wo das Problem liegt zu verknüpfen.

AFAIK der Bericht generiert aus OpenCover (coverage-report.xml) wie es ist, wird nicht erkannt von Jenkins so, was ich versuche zu tun ist, um sie durch eine XSL-Datei zu machen zu sprechen, die die (Abdeckung verwandelt -report.xml) zu einer (emma-report.xml) dass Jenkins Plugins hat die versteht.

Obwohl ich nicht weiß, dass der beste Ansatz ist. Bessere Ansätze sind mehr als willkommen;) Ich habe ein Problem mit Blick auf die block coverage Metriken von OpenCover (Emma Bedürfnisse dieser Metrik) zu erhalten.

Ich habe es geschafft, alle anderen Metriken class, %, method, % und line, %OpenCover-Emma benötigt verwandeln, aber ich bin nicht sicher, ob möglich ist, die block, % aus dem Bericht zu erhalten.

Kann mir jemand sagen, ob es möglich ist oder ob es einen besseren Ansatz gibt, um das zu erreichen, was ich versuche zu machen (also Jenkins Build-Warnungen ausgeben, wenn die Codeabdeckung einen bestimmten Prozentsatz unterschreitet)?

Vielen Dank im Voraus! :)

Antwort

1

Wenn Sie OpenCover vom Sonar Gallio-Plugin (von sonar C# ecosystem) ausführen, könnte eine einfache Lösung, um Warnungen auf niedriger Codeabdeckung zu erhalten, das Sonar build breaker plugin sein. Sie erhalten einen fehlerhaften Build, wenn die Abdeckung unter einen Alarmschwellenwert fällt. Diese Lösung erlaubt es nicht, Grafiken oder Trends in Jenkins zu erhalten, aber wenn Sie Sonar verwenden, haben Sie alles in den Sonar-Dashboards. Hoffe, es