testwith test junitparams java junit powermock parameterized

java - test - Junit Parameterized prueba junto con Powermock-¿cómo?



junit4 @parameters (3)

No puede utilizar dos corredores de clase a la vez, por lo que definitivamente tendrá que escribir su propio corredor de prueba para que eso suceda.

No sé nada de Powermock, pero después de 10 segundos de investigación, parece que una solución sería escribir un corrector de prueba que use el cargador de clases de powermock y ejecute pruebas parametrizadas. Si puede averiguar cómo delegar al corredor de prueba parametrizado desde su corredor de prueba personalizado, esa podría ser su mejor opción.

He estado intentando descubrir cómo ejecutar pruebas parametrizadas en Junit4 junto con PowerMock. El problema es que para usar PowerMock necesitas decorar tu clase de prueba con

@RunWith(PowerMockRunner.class)

y para usar pruebas parametrizadas tienes que decorar con

@RunWith(Parameterized.class)

Por lo que puedo ver, parecen mutuamente excluidos? ¿Es esto cierto? ¿Hay alguna forma de evitar esto? Intenté crear una clase parametrizada dentro de una clase que se ejecuta con PowerMock; algo como esto:

@RunWith(PowerMockRunner.class) class MyTestClass { @RunWith(Parameterized.class) class ParamTestClass { // Yadayada } }

Pero desafortunadamente esto no sirve de mucho ... La ParamTestClass aún no funciona con el soporte de PowerMock (algo que no sorprendentemente tal vez) ... ¡Y me he quedado sin ideas así que cualquier ayuda es muy apreciada!

Actualización: para futuros usuarios de google también vea: ¿Cómo usar PowerMock sin RunWith?


Sí, esto funciona usando la regla de PowerMock disponible si usa JUnit 4.7+.


Tuve el mismo problema. Lamentablemente, no me permitió usar una regla de PowerMock debido a la JVM que tenía. En lugar de la regla, utilicé RunnerDelegate.

@RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Parameterized.class)