Junit con parámetros de las pruebas junto con Powermock - ¿cómo?
-
20-09-2019 - |
Pregunta
He estado tratando de averiguar cómo ejecutar con parámetros de pruebas en Junit4 junto con PowerMock.El problema es que para utilizar PowerMock que necesitas para decorar tu clase de prueba con
@RunWith(PowerMockRunner.class)
y para usar con parámetros pruebas tienes para decorar con
@RunWith(Parameterized.class)
Por lo que puedo ver parece autoexcluye!?¿Es esto cierto?¿Hay alguna forma de evitar esto?He intentado crear una clase parametrizada dentro de una clase se ejecuta con PowerMock;algo como esto:
@RunWith(PowerMockRunner.class)
class MyTestClass {
@RunWith(Parameterized.class)
class ParamTestClass {
// Yadayada
}
}
Pero, por desgracia, no es muy buena...El ParamTestClass
todavía no se ejecuta con la PowerMock de apoyo (no es de extrañar tal vez)...Y me han agotado las ideas por lo que cualquier ayuda es muy apreciada!
Actualización: Para el futuro de google vea también: El uso de PowerMock sin la RunWith?
Solución
Yo tenía el mismo problema.Por desgracia no me deja usar un PowerMock Regla debido a la JVM que yo tenía.En lugar de la regla que se utiliza RunnerDelegate.
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)
Otros consejos
Si esto funciona mediante el uso de la PowerMock Regla disponible si utiliza JUnit 4.7+ .
No es posible utilizar dos corredores de clase a la vez, por lo que sin duda tendrá que escribir su propio corredor de prueba para que esto suceda.
No sé nada acerca de Powermock, pero después de 10 segundos de la investigación, se ve como una solución sería escribir un corredor de prueba que utiliza el cargador de clases de powermock y realiza pruebas con parámetros. Si usted puede encontrar la manera de delegar en el corredor de prueba con parámetros desde dentro de su corredor de prueba personalizada, que podría ser la mejor opción.