Junit Parametrisierte Tests zusammen mit Powermock - wie?
Ich habe versucht, herauszufinden, wie man laufen parametrisierten tests in Junit4 zusammen mit PowerMock. Das problem ist, dass die Verwendung von PowerMock, die Sie brauchen, um zu dekorieren Sie Ihr test-Klasse mit
@RunWith(PowerMockRunner.class)
und zur Verwendung von parametrisierten tests, die Sie haben zu dekorieren mit
@RunWith(Parameterized.class)
Von dem, was ich sehen kann, Sie scheinen sich gegenseitig ausgeschlossen!? Ist das wahr? Gibt es eine Möglichkeit, um dieses? Ich habe versucht, erstellen einer parametrisierten Klasse, die innerhalb einer Klasse läuft mit PowerMock; so etwas wie dieses:
@RunWith(PowerMockRunner.class)
class MyTestClass {
@RunWith(Parameterized.class)
class ParamTestClass {
//Yadayada
}
}
Aber leider nicht viel gutes tun,... Die ParamTestClass
immer noch nicht laufen mit PowerMock-Unterstützung (nicht, dass überraschend vielleicht)... Und ich habe irgendwie die Ideen ausgegangen, so dass jede Hilfe wird sehr geschätzt!
Update:
Für zukünftige Googler siehe auch: Mit PowerMock, ohne die RunWith?
InformationsquelleAutor der Frage Anders Hansson | 2010-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche Problem. Leider ist es mir nicht erlaubt, verwenden Sie einen PowerMock Regel aufgrund der JVM, die ich hatte. Anstelle der Regel, die ich verwendet RunnerDelegate.
InformationsquelleAutor der Antwort Abercrombieande
Ja, das funktioniert mithilfe der PowerMock Regel verfügbar, wenn Sie mit JUnit 4.7+.
InformationsquelleAutor der Antwort Johan
Können Sie keine zwei-Klassen-Läufer auf einmal, so werden Sie definitiv haben, schreiben Sie Ihre eigenen test-runner zu machen, dass passieren.
Ich weiß nicht, etwas über Powermock, aber nach 10 Sekunden der Forschung sieht es aus wie eine Lösung wäre die Erstellung einer test-runner verwendet powermock - class-loader und läuft parametrisierte tests. Wenn Sie herausfinden können, wie Delegierte zu den parametrisierten test-runner aus Ihrer individuellen test-runner, das ist vielleicht Ihre beste Wette.
InformationsquelleAutor der Antwort Sean Reilly