PowerMockito deaktiviert Sonar branch-coverage
Ich bin mit PowerMockito und @PrepareForTest Anmerkung für meine test-Klasse. Wenn ich dies mache, Sonar sagt keiner der Zweige bedeckt. Aber, meine anderen test-Klassen, die nicht PowerMockito gut funktioniert. Zum Beispiel:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ MyClass.class })
public class MyClassTest {
//create some mocks and run some tests here
}
Gibt es jemanden gestoßen mit dem gleichen problem?
Vielen Dank im Voraus.
- Wie sind Sie mit der Instrumentierung, die Sie code für die Berichterstattung ? Die Offline-Messtechnik, online-Instrumentierung ? Wahrscheinlich PowerMockito erstellt bytecode, ohne Abdeckung sammeln von Anweisungen. Die coverage-tool verwenden Sie ?
- Ich habe auch vor dem gleichen Problem und jetzt ich don ' T haben eine Auflösung noch auf diesem. Ich glaube, das war es für lange Zeit, und es muss angegangen werden, bald.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein bekanntes Problem mit PowerMockito und sonar code-coverage-Berechnung, und ich habe eine große Forschung auf diesem - wie von heute, es gibt kein Update zu.
Wie ich persönlich mit ihm umgehen - vermeiden Sie die Verwendung von PowerMockito - so verwenden Sie static und final Dünn, die ist in der Regel eine gute Beratung zu haben, mehr Objekt-orientierten code sowieso. Allerdings wird es noch ein paar Fälle waren, die Sie verwenden müssen, statische und oder final. Für diese
vergleichen Sie meine Antwort hier:
cobertura-zeigen-richtige-Abdeckung-aber-in-sonar-vielen-Dateien-zeigen-0-Berichterstattung
Feed in cobertura und sonar-bezogene Eigenschaften, die für die Berichterstattung an Ihre sonar-server. Beispiel, wie gezeigt.
Ausführen von maven Ziel für sonar
d.h., mvn install sonar:sonar