without method java unit-testing junit easymock powermock

java - method - powermock maven



NoClassDefFoundError cuando se utiliza Powermock (4)

Acabo de resolver esto ahora, cuando agregué el @RunWith(PowerMockRunner.class) , eclipse importado automáticamente:

import org.powermock.modules.junit4.legacy.PowerMockRunner;

Todo lo que necesito hacer es cambiarlo para que sea:

import org.powermock.modules.junit4.PowerMockRunner;

Y ahora funciona bien con JUnit 4.8.2 .

El segundo corredor es para cuando se ejecuta con versiones anteriores de JUnit , específicamente 4.3 y versiones anteriores.

Estoy ejecutando un caso de prueba junit utilizando el PowerMock prueba PowerMock . Estoy usando la siguiente línea de comandos para ejecutarlo:

java -cp .:junit-4.9b2.jar:easymock-3.0.jar:powermock-easymock-1.4.8-full.jar org.junit.runner.JUnitCore SampleTest

Al hacerlo estoy recibiendo este error:

initializationError(SampleTest) java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner ...

¿Cómo puedo arreglarlo?


Estoy usando JUnit 4.0 - 4.3 y actualicé mi dependencia de Maven para usar la versión powermockito 2.0.0-beta.5. Acaba de empezar a trabajar.

<dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>2.0.0-beta.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>2.0.0-beta.5</version> <scope>test</scope> </dependency>


Resolví el problema. Utilicé la versión antigua junit-4.0.jar. Pero aún no entiendo por qué falta la clase TestClassRunner, especialmente en el paquete powermock-easymock-junit-1.4.8.zip (hay junit-4.8.2.jar)? En el junit-4.8.2.jar también falta la clase TestClassRunner.


Ver here

Probablemente estés usando el PowerMockRunner incorrecto. Hay un corredor creado para JUnit 4.4 y superior y un segundo corredor creado para JUnit 4.0-4.3 (aunque este último también funciona para algunas versiones menores antiguas de JUnit 4.4).
Intente cambiar de org.powermock.modules.junit4.PowerMockRunner a org.powermock.modules.junit4.legacy.PowerMockRunner o viceversa. Mire la guía de inicio para ver cómo configurar esto en maven.