spring boot:run
コマンドを使用してビルドおよびデプロイメント中にスプリングブートアプリケーションのユニットテストを実行するにはどうすればよいですか。スプリングブートはユニットテストを実行しません
私の期待は、アプリケーションを実行する前にすべての単体テストを実行することですが、以前はmvn test
のような別のmavenコマンドを作成したくありません。
私の問題: 私は単純なスプリングブートアプリケーションを作ったので、intellijやコマンドラインからアプリケーションを実行している間に単体テストを実行する方法を見つけることができませんでした。まず、テストクラスの設定や間違った名前や、プロジェクトの構成が間違っていると思いました。だから私はintellijテンプレートから春のブートアプリケーションを作成しました。私の幸せにはすでにデフォルトテストが書かれているので、単にアプリケーションを実行します。不幸なテストは実行されませんでした。
これは、intellijによって作成されたプロジェクト構造、pom.xml、メインクラス、単体テストのスクリーンショットです。 Project created by intetelij
テストランナーを変更してテストに失敗し、もう一度試しました。同じ結果。 unit test changed to fail
私は http://docs.spring.io/spring-boot/docs/current/maven-plugin/run-mojo.html
ここspring boot:run
コマンドの下に隠されているものをググ私は、マニュアルの一番上に何か面白いものを見つけました:「前に自分自身を実行するライフサイクル相試験 - コンパイルの実行を起動します。」だから私の理解は、このコマンドはテストをコンパイルするだけですが、それらを実行しないということですか?もしそうなら、問題は - コマンドにフラグを追加して "テスト"段階を追加することは可能ですか?
よろしく、
ミハル
完全に使用できないものを実現したいと考えています。生産的なコードは、もう一方のテストコードです。スプリングブートは、プロダクティブコードのみを使用します。通常は、ユニットテストを使用してビルド/デプロイメントプロセス中の生産性コードの正確性を検証します。なぜ、実稼働環境で単体テストを実行したいのですか?あなたは何かここで誤解されているかもしれません。 – Heri
多分私は自分の問題をはっきりと述べなかったでしょう。私が探している唯一のことは、通常の春のブートアプリケーションを実行する前にユニットテストを実行することです。私のすべてのmavenプロジェクトでは、mvnをきれいにインストールし、アプリケーションをデプロイする前にテストを実行しました。今私は同じことをしたい。 私が知っている限り、 'spring boot:run'を使ってスプリングブートアプリケーションを実行すると、deploy前にすべてのプロジェクトが最初にコンパイルされます。アプリケーションをデプロイする前にユニットテストを実行する可能性はありますか?私は 'spring boot:run'の前に' mvn test'を走らせることができると知っていますが、私はそれを1つのコマンドで行うことができるのか不思議です:) – www
'mvn test spring-boot:run'を実行するのを止めますか? IntelliJでは、それを実行するMaven実行設定を作成することができます。 – jny