Maven Surefire Pluginテスト失敗の解決方法

Mavenプロジェクトでテスト実行時に発生する「Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin」エラーの解決方法について説明します。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test 
(default-test) on project sample-project: There are test failures.

問題の原因 このエラーは主に以下の状況で発生します:

  1. テストクラスがpublicでない
  2. テストクラスにpublicコンストラクタがない
  3. テストメソッドがpublicでない

解決方法 pom.xmlにmaven-surefire-pluginを追加し、テストをスキップする設定を行います:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.1</version>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
    </plugins>
</build>

この設定により、テストフェーズがスキップされ、ビルドが成功します。ただし、これは一時的な解決策であり、根本的なテストの問題を修正する必要があります。

根本的な修正方法 テストクラスを以下のように修正します:

// テストクラスをpublicにする
public class SampleApplicationTests {
    
    // publicコンストラクタを追加
    public SampleApplicationTests() {}
    
    // テストメソッドをpublicにする
    @Test
    public void contextLoads() {
        // テスト内容
    }
}

タグ: Maven surefire-plugin JUnit test-failure

5月18日 07:05 投稿