-1

奇妙な問題が発生しています。Javaで記述されたテストケースが約5つあり、mavenを使用してこれらのテストケースを実行していますが、クラス名にテストケース(.javaファイル)が含まれていない場合、テストケース(.javaファイル)を実行できません。キーワード「テスト」。

したがって、「Test」を含むクラス名(LoginTestなど)は実行できますが、「Test」を含まないクラス名(LoginModuleなど)は実行できません。

4

3 に答える 3

2

これは奇妙な動作ではありません。これは Maven の規約です。テスト クラスは、クラス名の先頭または末尾に "Test" という単語を付けることで識別されます。他の Maven 規則と同様に、テストを実行する Surefire プラグインの構成を提供することで変更できます。

于 2013-02-15T05:47:00.200 に答える
1

この問題は、以下のように pom.xml ファイルを更新した後に解決されました。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
          <includes>
            <include>**/*Page.java</include>
            <include>**/Page*.java</include>
            <include>**/*Test.java</include>
            <include>**/Test*.java</include>
         </includes>
      <redirectTestOutputToFile>true</redirectTestOutputToFile>
       </configuration>
</plugin>
于 2013-02-15T06:28:20.147 に答える
0

テストクラスの名前を変更するのが最も簡単かもしれません。

それ以外の場合は、surefire プラグインを使用して、含めるテスト ケースを指定できます。デフォルトでは、次のルールがあります。

デフォルトでは、Surefire プラグインは、次のワイルドカード パターンを持つすべてのテスト クラスを自動的に含めます。

"**/Test*.java"- すべてのサブディレクトリと、"Test" で始まるすべての Java ファイル名が含まれます。 "**/*Test.java"- すべてのサブディレクトリと、「Test」で終わるすべての Java ファイル名が含まれます。 "**/*TestCase.java"- すべてのサブディレクトリと、「TestCase」で終わるすべての Java ファイル名が含まれます。

必要に応じて、特定のパッケージを含めることもできます。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.13</version>
    <configuration>
      <includes>
        <include>**/package/*.java</include>
      </includes>
    </configuration>
  </plugin>

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

于 2013-02-15T05:48:25.223 に答える