Ausführen von Junit & PowerMock mit Mockito durch PowerMockRunner von maven

Ich bin nicht in der Lage zu laufen, Powermock durch maven. Ich bin der PowerMock Mockito und PowerMockRunner für das fahren eines jUnit test.

Hier ist der test:

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

Habe ich noch nicht konfiguriert anyting besonderes für die Durchführung des Tests. Mein pom verweist auf die folgenden Abhängigkeiten:

  • org.mockito | mockito-all | 1.8.0
  • junit | junit | 4.6.0
  • org.powermock.modules | powermock-Modul-junit4 | 1.3.1
  • org.powermock.api | powermock-api-mockito | 1.3.1

wenn ich mvn -Dtest=AlertNotificationsTest test mvn sagt, es gibt keinen test ausführen.
Aber wenn ich den gleichen test-Klasse aus eclipse läuft alles ok.

Mache ich etwas falsch?


Hier ist meine pom.xml unten (die relevanten Teile)

    <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>

Hier ist die Ausgabe von 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] ------------------------------------------------------------------------

Hinweis: ich kann laufen weitere tests, ich kann einfach nicht diesen test ausführen.
Wenn ich die AlertNotificationsTest Klasse erweitern junit.framework.TestCase die Klasse wird abgeholt von maven, aber es scheint, dass es keine Gefahren durch PowerMockRunner.

Hier ist das Ergebnis, dass:


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

Wieder, diese tests laufen Prima mit Eclipse.


Update fand ich ein mögliches problem & workaround. Ich habe tests mit TestNG und JUnit. Wenn ich entfernen TestNG aus meinem pom und migrieren alle meine tests in JUnit, ich bin in der Lage zu laufen, meine PowerMock test mit mvn test. So scheint es, dass es ein problem mit maven und junit/testng-combo.

Ich würde gerne in der Lage sein betreiben die beiden, aber Wenn ich nicht einen Weg finden, ich werde gehen und die Antwort auf meine eigene Frage.
Danke Jungs&Mädels

  • Ist der test (nicht länger junit.framework.TestCase) ausgelöst, wenn Sie führen Sie einfach mvn test?
  • Nein, es ist nicht ausgelöst.
  • Dann nicht auch erwarten, dass es bei der Verwendung von -Dtest. Sie haben ein anderes problem (und es sieht aus wie Sie die Quelle gefunden).
InformationsquelleAutor Miguel Ping | 2009-11-25
Schreibe einen Kommentar