Ich weiß, wie man statische Methoden aus einer Klasse mit PowerMock verspottet.
Aber ich möchte statische Methoden aus mehreren Klassen in einer Testklasse mit JUnit und PowerMock verspotten.
Kann mir jemand sagen, ob es möglich ist und wie es geht?
Antworten:
Machen Sie es einfach
@PrepareForTest({Class1.class,Class2.class})
für mehrere Klassen.quelle
@RunWith(PowerMockRunner.class)
auf Klassenebene zu PowerMockRunner zu wechseln@Rule public PowerMockRule rule = new PowerMockRule();
@PrepareForTest(Class1::class, Class2::class))
@PrepareOnlyThisForTest
anstatt@PrepareForTest
. Letzteres modifiziert auch Superklassen, die normalerweise nicht benötigt werden.etc...
quelle
PowerMock 1.6.5
gibt es Probleme bei der Verwendung@PrepareForTest
auf Verfahren Ebene (funktioniert nur auf Klassenebene für mich)In Java mit PowerMock / junit, Verwendung
@PrepareForTest({})
mit so vielen statischen Klassen , wie Sie als Array möchten ({}
).Ich habe Powermock mit in Scala / Junit verwendet , da Scalatest nicht in Powermock integriert ist.
quelle
Wenn Sie Kotlin verwenden, lautet die Syntax wie folgt
@PrepareForTest(ClassA::class, ClassB::class)
quelle