Wenn Sie den "Code im Test" wirklich nicht ändern können; und dieser statische Aufruf gibt Ihnen Probleme, dann ist Ihre einzige Option, PowerMock zu verwenden; und wie die anderen Antwort Umrisse, ihre documentation gibt eine genaue Beschreibung, wie man das macht (und für die Aufzeichnung: Lesen und befolgen Sie diese Anweisungen sorgfältig).
Aber Sie müssen verstehen, dass PowerMock im Vergleich zu anderen mocking Frameworks "teurer" ist; Zum Beispiel: Sie können PowerMock nicht gut mit Mockito kombinieren. Natürlich gibt es PowerMockito; aber dieses Tool funktioniert nur mit ziemlich veralteten Versionen von Mockito.
Lange Rede, kurzer Sinn: PowerMock kann dieses Problem lösen; aber seien Sie nicht überrascht, wenn es andere Probleme für Sie auf lange Sicht schafft.
Die Notwendigkeit, statische Methoden zu verspotten, ist ein üblicher Code-Geruch, der darauf hinweist, dass Sie diese Methode in eine Schnittstelle oder Klasse verschieben sollten, damit Sie eine gefälschte oder gefälschte Instanz einführen und * den * in den Code, den Sie testen, übergeben Spotte die statische Methode global. – dimo414
Kann den Code nicht ändern, da er nicht von mir geschrieben wurde. Irgendwelche Vorschläge, wie man das testet? – mhsree
"Es ist nicht von mir geschrieben." Es kommt von einer Drittanbieter-Lib? Bitte geben Sie weitere Einzelheiten an. – davidxxx