L'exécution de Junit & PowerMock avec Mockito par PowerMockRunner de maven

Je ne suis pas être en mesure d'exécuter Powermock par maven. Je suis le PowerMock Mockito et PowerMockRunner pour la conduite d'un test jUnit.

Voici le test:

@RunWith(PowerMockRunner.class)
@PrepareForTest( { UserLocalServiceUtil.class, ExpandoBridge.class })
public class AlertNotificationsTest {
//...

Je n'ai pas configuré anyting spécial pour exécuter le test. Mon pom références suivantes deps:

  • org.mockito | mockito-tous | 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

quand je lance mvn -Dtest=AlertNotificationsTest test mvn dit il n'y a pas de test à exécuter.
Mais si je lance la même classe de test à partir d'eclipse, tout fonctionne ok.

Je fais quelque chose de mal?


Voici mon pom.xml ci-dessous (les parties 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>

Voici la sortie de maven

mvn -Dtest=AlertNotificationsTest test

...
[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] ------------------------------------------------------------------------

Note: je peux exécuter d'autres tests, je ne peux pas exécuter ce test.
Si je fais le AlertNotificationsTest classe étendre junit.framework.TestCase la classe est ramassé par maven, mais il semble qu'il n'obtient pas motivée par PowerMockRunner.

Voici la sortie de l':


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

Encore une fois, ces tests s'exécutent très bien avec Eclipse.


Mise à jour j'ai trouvé un problème possible & solution de contournement. J'ai teste avec TestNG et JUnit. Si je supprime TestNG de mon pom et de migrer tous mes tests JUnit, je suis en mesure d'exécuter mon PowerMock test avec mvn test. Il semble donc qu'il y a un problème avec maven et junit/testng combo.

J'aimerais être en mesure d'exécuter à la fois, mais Si je n'ai pas trouver un moyen je vais répondre à ma propre question.
Merci les gars&gals

Est le test (qui ne s'étend pas junit.framework.TestCase) a déclenché lorsque vous exécutez simplement mvn test?
Non, il n'est pas déclenché.
Alors ne même pas attendre d'elle lors de l'utilisation de -Dtest. Vous avez un autre problème (et il semble que vous avez trouvé la source).

OriginalL'auteur Miguel Ping | 2009-11-25