SpringBootはユニットテストを実行しません

www

spring boot:runコマンドを使用してビルドおよびデプロイするときに、SpringBootアプリケーションの単体テストを実行するにはどうすればよいですか

私の期待は、アプリケーションを実行する前にすべての単体テストを実行することですが、mvn test以前のよう別のmavenコマンドを作成したくありません

私の問題:単純なSpring Bootアプリケーションを作成しましたが、intellijまたはコマンドラインからアプリケーションを実行しながら単体テストを実行する方法を見つけることができました。まず、テストクラスの構成や名前が間違っているか、プロジェクト構造が間違っているのではないかと思いました。そこで、intellijテンプレートからSpringBootアプリケーションを作成しました。幸いなことに、デフォルトのテストがすでに作成されているので、アプリケーションを実行するだけです。残念ながらテストは実行されませんでした。

これは、intellijによって作成されたプロジェクト構造、pom.xml、メインクラス、および単体テストのスクリーンショットです。intetelijによって作成されたプロジェクト

テストランナーとテストを失敗するように変更して、再試行しました。同じ結果。ユニットテストが失敗するように変更されました

spring boot:runここでコマンドの下に隠されているものをグーグルで検索しましたhttp://docs.spring.io/spring-boot/docs/current/maven-plugin/run-mojo.html

マニュアルの上部に興味深いものがありました。「それ自体を実行する前に、ライフサイクルフェーズのテストコンパイルの実行を呼び出します。」だから私の理解は、このコマンドはテストをコンパイルするだけで、それらを実行しないということですか?もしそうなら、質問は-コマンドにフラグを追加することで「テスト」フェーズを追加することは可能ですか?

オランバート

ここでの問題は、Mavenのライフサイクルに関係しています。よるとドキュメントについてspring-boot:runは、ライフサイクル相に結合するvalidateデフォルトでは、位相を呼び出しtest-compile実行する前に。

あなたが求めているのは、アプリケーション実行する前にテストを実行することです。これは、POMのカスタムMavenプロファイルを使用して行うことができます-次のようなものです。

<project>
    <profiles>
        <profile>
            <id>test-then-run</id>
            <build>
                <defaultGoal>verify</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>spring-boot-run</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <inherited>false</inherited>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        ...
    </profiles>
...
</project>

これをPOMに含めると、テストを実行して、次のコマンドでアプリを起動できます。

mvn -P test-then-run

これにより、run目標がverifyフェーズではなくフェーズにバインドvalidateされます。つまり、テストが最初に実行されます。フェーズが実行される順序は、https//maven.apache.org/ref/3.3.9/maven-core/lifecycles.htmlで確認できます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SpringBootはユニットテストを実行しません

分類Dev

dependencyManagementに追加したときSpringBootは、ユニットテストを実行しません。

分類Dev

モカ/角度ユニットテストは「then」機能を実行しません

分類Dev

Xunitユニットテストは実行されません

分類Dev

PyBuilder:ユニットテストは実行されません

分類Dev

Pythonユニットテストを実行できません

分類Dev

JUnitEclipseはユニットテストを実行できません

分類Dev

runBlockingを使用したKotlinコルーチンユニットテストは実行を待機しません

分類Dev

ユニットテストを実行するとき、SpringBootはdata.sqlを無視します

分類Dev

Create ReactAppユニットテストはVMWareHorizonClientでは実行されません

分類Dev

xcodebuildテストがXCTestCaseユニットテストファイルを実行していません

分類Dev

dotnet core:ユニットテストを実行できません

分類Dev

RESTレイヤーに対してユニットテストを実行できません

分類Dev

それを変更した後、ユニットテストを実行すると、IntelliJので更新されたテストを実行しません。

分類Dev

ユニットテストAngular2サービスは、注入後にコールバックを実行しません

分類Dev

SpringSecurityユニットテスト-MockMvcはカスタムユーザーでテストを実行します

分類Dev

コンテキストの問題によりユニットテストを実行できませんか?

分類Dev

ユニットテストは失敗していません

分類Dev

VSCodeはFlutterのユニットテストを認識しません

分類Dev

Angularユニットテストはag-Gridを初期化しません

分類Dev

ユニットテストは、実行中は正しく機能しますが、Android Studio4.1でのデバッグ時には機能しません

分類Dev

Pythonユニットテストが実行されていません

分類Dev

ユニットテストが実行されていません

分類Dev

Python:ユニットテストが実行されていません

分類Dev

ユニットテストメソッドは、テストの実行時にモックオブジェクトを使用しません。代わりに、実際のクラスとメソッドを呼び出します

分類Dev

npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

分類Dev

npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

分類Dev

npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

分類Dev

ユニットテスト内でリモート機能を実行できません

Related 関連記事

  1. 1

    SpringBootはユニットテストを実行しません

  2. 2

    dependencyManagementに追加したときSpringBootは、ユニットテストを実行しません。

  3. 3

    モカ/角度ユニットテストは「then」機能を実行しません

  4. 4

    Xunitユニットテストは実行されません

  5. 5

    PyBuilder:ユニットテストは実行されません

  6. 6

    Pythonユニットテストを実行できません

  7. 7

    JUnitEclipseはユニットテストを実行できません

  8. 8

    runBlockingを使用したKotlinコルーチンユニットテストは実行を待機しません

  9. 9

    ユニットテストを実行するとき、SpringBootはdata.sqlを無視します

  10. 10

    Create ReactAppユニットテストはVMWareHorizonClientでは実行されません

  11. 11

    xcodebuildテストがXCTestCaseユニットテストファイルを実行していません

  12. 12

    dotnet core:ユニットテストを実行できません

  13. 13

    RESTレイヤーに対してユニットテストを実行できません

  14. 14

    それを変更した後、ユニットテストを実行すると、IntelliJので更新されたテストを実行しません。

  15. 15

    ユニットテストAngular2サービスは、注入後にコールバックを実行しません

  16. 16

    SpringSecurityユニットテスト-MockMvcはカスタムユーザーでテストを実行します

  17. 17

    コンテキストの問題によりユニットテストを実行できませんか?

  18. 18

    ユニットテストは失敗していません

  19. 19

    VSCodeはFlutterのユニットテストを認識しません

  20. 20

    Angularユニットテストはag-Gridを初期化しません

  21. 21

    ユニットテストは、実行中は正しく機能しますが、Android Studio4.1でのデバッグ時には機能しません

  22. 22

    Pythonユニットテストが実行されていません

  23. 23

    ユニットテストが実行されていません

  24. 24

    Python:ユニットテストが実行されていません

  25. 25

    ユニットテストメソッドは、テストの実行時にモックオブジェクトを使用しません。代わりに、実際のクラスとメソッドを呼び出します

  26. 26

    npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

  27. 27

    npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

  28. 28

    npmテスト(Angular 2ユニットテスト)を実行した後、未定義のプロパティ 'subscribe'を読み取れません

  29. 29

    ユニットテスト内でリモート機能を実行できません

ホットタグ

アーカイブ