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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top