2011-01-10 5 views
17

Wenn Ich betreibe einen einzigen Test in Maven mit diesem Befehl:Ausführen eines einzelnen Tests in maven -> Es wurden keine Tests ausgeführt!

mvn test -Dtest=InitiateTest 

ich folgendes Ergebnis erhalten:

für knapp vor
No tests were executed! 

es ein paar Minuten gearbeitet, aber jetzt arbeiten irgendein Grund. Ich habe versucht, mvn clean ein paar Mal vor dem Ausführen des Tests laufen, es hilft nicht.

Der Test sieht wie folgt aus:

import org.openqa.selenium.*; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.Select; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 

public class InitiateTest { 

public static FirefoxDriver driver; 

@Before 
public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
} 

@Test 
public void initiateTest() throws Exception { 
     driver.get("http://localhost:8080/login.jsp"); 
     ... 
} 

@After 
public void tearDown() throws Exception { 
driver.close(); 

} }

UPDATE:

durch Zugabe, diese Abhängigkeit zu POM verursacht wird:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium</artifactId> 
    <version>2.0b1</version> 
    <scope>test</scope> 
</dependency> 

Als ich entferne es, alles funktioniert gut. Alles funktioniert gut, auch wenn ich diese beiden Abhängigkeiten anstelle der vorherigen hinzufüge:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-support</artifactId> 
    <version>2.0b1</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-firefox-driver</artifactId> 
    <version>2.0b1</version> 
    <scope>test</scope> 
</dependency> 

Das ist seltsam.

+0

Welche Art von Test werden Sie ausführen wollen? Du hast kein @Ignore zufällig gesetzt? – Navi

+0

Wahrscheinlich nicht allzu hilfreich. Aber denken Sie daran, beide sind Beta-Produkte und unterliegen in hohem Maße dem Brechen überall. – mezmo

Antwort

5

Wahrscheinlich holen Sie JUnit3 auf Ihrem Klassenpfad irgendwo ab, wodurch JUnit4 praktisch deaktiviert wird.

Führen Sie mvn dependency: tree aus, um herauszufinden, woher es kommt, und fügen Sie der Abhängigkeit einen Ausschluss hinzu.

0

Versuchen Sie, Maven im Debug-Modus auszuführen. Es könnte Ihnen mehr Informationen geben.

-2

Ich weiß nicht wirklich, wie die @Test Annotation Ihren Test verarbeitet, aber können Sie versuchen, Ihre Testmethode mit "test" zu versehen?

public void testInit() throws Exception { 
     driver.get("http://localhost:8080/login.jsp"); 
     ... 
} 
+0

@Test Annotation wurde in jUnit 4 eingeführt, in jUnit 3 musste jede Methode mit "test" beginnen – Kennet

+0

yep, das hilft leider nicht. @Test Annotation ist genug. –

-1

Vielleicht so nutzlos wie mein letzter Versuch, aber ich habe gerade gelesen eine JUnit 4 Test-Klasse sollte importieren org.junit.Test. * und org.junit.Assert. * so berücksichtigt werden. Da Sie den Assert-Import nicht haben, lohnt es sich, dies schnell auszuprobieren.

6

Ich hatte das gleiche Problem. Es wurde durch die Testabhängigkeit verursacht, die mit junit3 kam. Fügen Sie einfach eine Ausschlussanweisung hinzu und die Tests sollten funktionieren.

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium</artifactId> 
    <version>2.0b1</version> 
    <exclusions> 
    <exclusion> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 
+0

Es war das gleiche für mich eine Minute vor ... oder eine Stunde, bevor ich das gefunden:/THX Mann – yoosiba

0

Hatte ein ähnliches Problem jtestr Abhängigkeit hinzufügen. Es stellt sich heraus, dass eine seiner Abhängigkeiten Junit-3.8.1 übernommen hat. Ich löste sie den Ausschluss-Anweisung unter

<dependency> 
    <groupId>org.jtestr</groupId> 
    <artifactId>jtestr</artifactId> 
    <exclusions> 
    <exclusion> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    </exclusion> 
    </exclusions> 
    <version>0.6</version> 
    <scope>test</scope> 
</dependency> 
11

Vielleicht haben Sie this bug, sehen, die todsichere 2,12 beeinflussen wird gesagt, aber nicht 2.11?

+1

Danke, das ist, was ich lief. Ich habe am Ende 2.12.3 verwendet, die eine Korrektur enthält. –

+1

Seconded, 2.12.3 enthielt die Lösung dafür. – Yinzara

+1

Offenbar auch 2.19.1 trägt den Fehler :( –

3

Ich habe "maven-surefire-plugin" in 2.14.1 Version geändert (von 2.12) und es half

-1

In meinem Fall führte ich einen einzelnen Test mit mvn Test -Dtest = MyTest. Mein Fehler war, dass die @test-Anmerkung des einzigen Tests auskommentiert wurde, sodass in der Datei von junit kein Test gefunden wurde. Do!

0

geändert von 2,6 bis 2.18.1 und es hilft noch

0

In der Build-Sitzung des pom.xml, umfassen diese:

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.14.1</version> 
    </plugin> 
    </plugins> 
    </build> 
-1
mvn test -Dtest='xxxx.*Test' -Dmaven.test.failure.ignore=true -DfailIfNoTests=false 

Ich treffe die gleiche Frage, die keine Tests wurden ausgeführt! Mein Vorschlag ist, fügen Sie weitere Parameter, die -Dmaven.test.failure.ignore=true -DfailIfNoTests=false lösen können.

+1

Sicherstellen, dass der Fehler wird nicht ignoriert, tut nichts, um den Fehler zu verhindern. –

0

Ich hatte ein ähnliches Problem. Also musste ich baut das Projekt von Root-Ebene des Projektes mit

mvn clean install -DskipTests=True 

Und dann den Test Befehl aus dem Verzeichnis, in dem Testpaket pom aufhalten

mvn test -Dtest=TestClass 

auch sicher, dass Wert der Skip-Option ist wahr. Zum Beispiel in meiner Pom-Datei ist der Standardwert von Skip wahr. So

<properties> 
    <skipTests>true</skipTests> 
</properties> 


<build> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <skip>${skipTests}</skip> 
      </configuration> 
    </plugin> 
</build> 

, wenn ich das Maven-Test ausführen, habe ich es auf false

mvn test -Dtest=TestUserUpdate* -DskipTests=false