プロジェクトをパッケージ化しようとしています。ただし、パッケージ化を実行する前のテストを自動的に実行します。テストでは、データベースにコンテンツを挿入します。これは私が望んでいることではありません。アプリケーションのパッケージ化中にテストを実行しないようにする必要があります。テストなしでパッケージを実行する方法を知っている人はいますか?
プロジェクトをパッケージ化しようとしています。ただし、パッケージ化を実行する前のテストを自動的に実行します。テストでは、データベースにコンテンツを挿入します。これは私が望んでいることではありません。アプリケーションのパッケージ化中にテストを実行しないようにする必要があります。テストなしでパッケージを実行する方法を知っている人はいますか?
回答:
でmavenを実行する
mvn package -Dmaven.test.skip=true
-DskipTests
いましたが、それはもはや機能しません、なぜか何か考えませんか?
skipTests
よりも設定の方が推奨されていることに注意してくださいmaven.test.skip
。
テストケースの実行を無視する以下のコマンドを提供するだけで、
mvn package -DskipTests
-DskipTests
私が使用したとき私のために機能しませんでしたmvn clean install -DskipTests
コマンドライン引数を設定したくない場合は、このプラグイン構成をpomに追加できます。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
-Dmaven.test.skipは、Mavenがtest-jarアーティファクトを構築しないようにすることに注意してください。
テストをスキップしたいが、通常のビルドの使用に従ってアーティファクトを作成する場合:
-Dmaven.test.skip.exec
これをWindows Powershellで試行すると、次のエラーが発生します。
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
これは、Powershellでは「-
」が特別な意味を持ち、Mavenで問題を引き起こしているためです。
解決策は、そのようにバックティック( `)を前に付けることです。
mvn `-Dmaven.test.skip=true install
リファレンス:http : //kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
あなただけを提供する必要があります
-Dmaven.test.skip
追加する必要はありません=true
。
テストは常にパッケージの前に実行する必要があります[1]。テストをオフにする必要がある場合は、何か問題があります。つまり、間違った問題を解決しようとしているのです。あなたの問題が何であるかを理解し、その質問をしてください。データベース関連のようですね。
[1]ローカルで開発に使用するアーティファクトをすばやく生成する必要がある場合は、テストをスキップできますが、一般に、アーティファクトの作成は常にテスト実行が成功した後に行う必要があります。
ただ mvn clean install -DskipTests
Mavenテストに感染しないMavenパッケージの場合:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
あなたは明らかに、それを間違った方法で行っています。テストは事前パッケージ化の重要な部分です。無視したりスキップしたりするのではなく、正しい方法で実行してください。データを挿入するデータベースを変更してみてください(test_dbなど)。設定に時間がかかる場合があります。また、このデータベースを永久に使用できるようにするには、テストの終わりまでにすべてのデータを削除する必要があります。JUnit4には、簡単に使用できる注釈があります。適切なメソッドには@ Before、@ After @Testアノテーションを使用します。あなたはいつかそれに費やす必要がありますが、それだけの価値があります!
Intellijで、[表示]-> [ツールウィンドウ]-> [Mavenプロジェクト]を選択します。Lifecyleドロップダウンで、パッケージを右クリックし、[Create your-project [package]]を選択します...
package -Dmaven.test.skip=true -f pom.xml
コマンドラインフィールドに次の値を入力します。[適用]をクリックすると、作成したカスタムmavenコマンドとともに[実行構成]ドロップダウンメニューが表示されます。