2016-07-28 11 views
2

Hi vor kurzem haben wir die Unit Tests für das gesamte Projekt mit Mockito Framework durchgeführt. Mein Projekt ist auf Java Frühling ruhen Projekt. Aber die Abdeckung liegt unter 35%. Sie müssen die Testabdeckung des Geräts verbessern.
1. Möchten Sie das Paket nonneccesay aus dem Code-Coverage entfernen, wie Testpakete und Beans Klasse
2. Müssen wir den Unit-Testfall für die Controller-Klasse und generierte Klasse aus den Tools schreiben.Mockito Junit testcoverage Entfernen der Unit Test Coverge

Ich werde sehr dankbar sein, wenn Sie mir helfen können.

+0

Was haben Sie bereits versucht herauszufinden, wie Klassen aus Ihrem Code Coverage Tool ausgeschlossen werden können? - Und welchen benutzt du? – Alexander

Antwort

0

Sie müssen nicht damit beginnen, Klassen zu ignorieren, sondern stattdessen ein Code-Coverage-Tool ausführen und sehen, was aufgedeckt wird, und diese Komponententests auf den gleichen Wert bringen. Testen Sie auch Ihre Fehlerfälle!

Die Testpakete sollten NICHT Teil der 35% sein, daher wird das Entfernen nicht helfen. Keines der Coverage-Tools, die ich kenne, betrachtet Testpakete.

Wie für generierte Klassen - höchstwahrscheinlich nicht, aber wieder, führen Sie ein Code-Coverage-Tool und Sie werden schnell sehen, was abgedeckt werden muss.

Wenn Sie IntelliJ verwenden dann Coverage Tools sind integriert: https://www.jetbrains.com/help/idea/2016.2/code-coverage.html

Eclipse-Plugins verwendet, ist: http://www.eclemma.org/ Es gibt mehr, wenn Sie Google.

Ich ziehe Sonar: http://www.sonarqube.org/

Aber was auch immer Tool verwenden Sie, das ist der Weg zu gehen.

1

Testklassen und Pakete werden nicht in der Testabdeckung gezählt, wenn sie waren, wie Sie den Code testen Sie, dass der Code etc .. testet

Wenn Sie Abdeckung laufen sollte es nur src/main/Java überfahren usw.

Controller-Klassen sollten getestet werden, wenn Sie eine Methode aufrufen, ist die richtige delegierte Klasse und Methode aufgerufen?

Generierte Klassen, wenn von xml mit jaxb usw. nicht explizit getestet werden müssen, wenn es sich nur um einfache alte Java-Objekte mit Getter, Setter und Feldern handelt. Wahrscheinlich werden sie über eine andere Klasse getestet, die diese Objekte verwendet und ihre Methoden aufruft. Diese Klassen werden generiert/kompiliert, bevor Ihre Tests ausgeführt werden, damit sie verfügbar sind. Stellen Sie sicher, dass Sie keine generierten Klassen in Ihr Code-Repository übertragen.

Sie sollten in Betracht ziehen, das Verhalten von Bibliotheken von Drittanbietern zu testen, von denen Sie abhängig sind. Auf diese Weise können Sie sofort sehen, ob Aktualisierungen von Bibliotheken Probleme verursachen können, aber dies sollte von einer hohen Ebene sein.