web-dev-qa-db-ja.com

Mavenで単一のテストを実行する->テストは実行されませんでした!

このコマンドを使用してMavenで単一のテストを実行すると:

mvn test -Dtest=InitiateTest

次の結果が得られます。

No tests were executed!

数分前は動作していましたが、何らかの理由で動作を停止しました。テストを実行する前にmvn cleanを数回実行してみましたが、役に立ちません。

テストは次のようになります。

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();

}}

更新:

これは、この依存関係をPOMに追加したことが原因です。

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

取り外すと、すべて正常に動作します。前の依存関係の代わりに次の2つの依存関係を追加しても、すべて正常に機能します。

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

これは変です。

21
John Manak

クラスパスのどこかでJUnit3を取得している可能性があります。これにより、JUnit4が事実上無効になります。

Mvndependency:treeを実行して、それがどこから来ているのかを調べ、依存関係に除外を追加します。

8
krosenvold

おそらくあなたは見ているでしょう このバグ、 これはsurefire 2.12に影響を与えると言われていますが、2.11には影響を与えませんか?

11
joel truher

私も同じ問題を抱えていました。これは、junit3に付属のtestng依存関係が原因でした。除外ステートメントを追加するだけで、テストが機能するはずです。

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

「maven-surefire-plugin」を2.14.1バージョン(2.12から)に変更しました。

3
johndoe

同様の問題がありました。だから私はプロジェクトのルートレベルからプロジェクトをビルドするを使用する必要がありました

mvn clean install -DskipTests=True

そしてテストパッケージのpomが存在していたディレクトリからテストコマンドを実行します

mvn test -Dtest=TestClass

また、スキップオプションの値がtrueであることを確認してください。たとえば、私のpomファイルでは、skipのデフォルト値はtrueです。

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

したがって、Mavenテストを実行するときは、falseに設定します

mvn test -Dtest=TestUserUpdate* -DskipTests=false
1
AJC

2.6から2.18.1に変更され、現在は機能しています

1
Kalpesh Soni

Jtestrの依存関係を追加するときに同様の問題が発生しました。その依存関係の1つはjunit-3.8.1をピックアップしていたことが判明しました。以下の除外ステートメントを使用して解決しました

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

私の場合、mvn test -Dtest = MyTestを使用して単一のテストを実行していました。私の間違いは、唯一のテストで@testアノテーションがコメント化されていたため、junitによってファイル内にテストが見つからなかったということでした。ドー!

1
Farrukh Najmi

Pom.xmlのビルドセッションに、これを含めます。

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

org.Apache.maven.plugins:maven-surefire-pluginを2.22.0に更新すると、解決されました。

0
user2305645

デバッグモードでMavenを実行してみてください。それはあなたにもっと多くの情報を与えるかもしれません。

mvn -X -Dtest=InitiateTest test
0
dogbane