No puedo ejecutar Powermock a través de maven. Soy PowerMock Mockito y PowerMockRunner para conducir una prueba jUnit.Ejecución de Junit y PowerMock con Mockito a través de PowerMockRunner de maven
Aquí está la prueba:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ UserLocalServiceUtil.class, ExpandoBridge.class })
public class AlertNotificationsTest {
//...
no he configurado anyting especial para ejecutar la prueba. Mi pom hace referencia a las siguientes definiciones:
- org.mockito | mockito-todo | 1.8.0
- junit | junit | 4.6.0
- org.powermock.modules | powermock-module-junit4 | 1.3.1
- org.powermock.api | powermock-api-mockito | 1.3.1
cuando ejecuto mvn -Dtest=AlertNotificationsTest test
mvn dice que no hay prueba para ejecutar. Pero si ejecuto la misma clase de prueba de eclipse, todo funciona bien.
¿Estoy haciendo algo mal?
Aquí es mi pom.xml a continuación (las partes pertinentes)
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.9</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock.modules</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock.api</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Aquí está la salida del experto
mvn -Dtest = AlertNotificationsTest prueba
...
[INFO] Surefire report directory: C:\Devel\Java\EP_PORTAL\information-provider\target\surefi
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.313 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] No tests were executed! (Set -DfailIfNoTests=false to ignore this error.)
[INFO] ------------------------------------------------------------------------
Nota: Puedo ejecutar otras pruebas, simplemente no puedo ejecutar esta prueba. Si hago que la clase AlertNotificationsTest
extienda junit.framework.TestCase
, la clase es recogida por maven, pero parece que no se maneja por PowerMockRunner
.
Aquí está la salida de ese:
Running TestSuite
[ERROR]: No test suite found. Nothing to run
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 1.053 sec <<< FAILURE!
Results :
Failed tests:
testSingleEventNotification(pt.estradasportugal.traffic.services.events.AlertNotificationsTest)
testTwoEventNotification(pt.estradasportugal.traffic.services.events.AlertNotificationsTest)
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0
Una vez más, estas pruebas se ejecutan muy bien con Eclipse.
actualización me encontré con un problema posible & solución. Tengo pruebas con TestNG y JUnit. Si elimino TestNG de mi pom y migro todas mis pruebas a JUnit, puedo ejecutar mi prueba de PowerMock con mvn test
. Entonces parece que hay un problema con maven y el combo junit/testng.
Me gustaría poder ejecutar ambas cosas, pero si no encuentro la forma de hacerlo, responderé mi propia pregunta. Gracias chicos chicas &
es la prueba (que no se extiende 'junit.framework.TestCase') activadas cuando acaba de ejecutar 'mvn test'? –
No, no se activó. –
Entonces ni siquiera esperes que sea cuando uses '-Dtest'. Tienes otro problema (y parece que encontraste la fuente). –