問題タブ [maven-failsafe-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - mvn フェイルセーフ:統合テスト
私はmaven 2を使用しており、統合テストは*IT.javaファイルにあります。コマンドmvn failsafe:integration-test
統合テストを実行すると罰金が発生します。しかし、実行するmvn integration-test
と統合テストが実行されません。プレフィックスを削除するにはどうすればよいfailsafe:
ですか?
pom.xml では、次を使用します。
更新
次のpom.xml
セットアップも試しましmvn clean verify
た。JUnitテストの確実なレポートしか得られませんでした。コンソール出力にはまだJUnit統合テストがありません。
ここで、プラグイン設定で単体テストを無効にしました。
mvn clean verify
フェイルセーフ統合テストを実行します! しかし、それが確実な単体テストと一緒に機能しないのはなぜですか? 何か案が?
maven-2 - maven2 フェイルセーフ & embedded-glassfish との統合テスト
統合テストのみを実行する新しいプロジェクトを作成しました
- maven 耳プラグイン
- maven-フェイルセーフ-プラグイン
- maven-embedded-glassfish-プラグイン
ear ファイルが作成されるようにパッケージを設定すると、glassfish は実行されますが、テストは無視され、次のメッセージが表示されます。
[failsafe:integration-test] 実行するテストはありません。
そしてglassfishのアンデプロイは失敗します
[embedded-glassfish:undeploy]
17/08/2012 10:08:17 AM PluginUtil doUndeploy
INFO: Deployer = com.sun.enterprise.admin.cli.embeddable.DeployerImpl@105f0f87
17/08/2012 10:08:17 AM com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream
レポート
警告: 入力ストリームがファイナライズされたか、明示的に閉じられずに強制的に
閉じられました。ストリームのインスタンス化は、 com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStreamの次のスタック トレース
java.lang.Throwable で報告されます。(ASURLClassLoader.java:1230)
パッキングをjarに設定すると、
packageName.MyServiceTest を実行 してい
ます 17/08/2012 10:09:34 AM com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl
findDerbyClient
情報: javadb クライアント jar ファイルが見つかりません。derby jdbc ドライバーは
デフォルトでは使用できません。
org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: 接続エラー: socketType:
IIOP_CLEAR_TEXT; ホスト名: ローカルホスト; ポート: 3700 vmcid: OMG マイナー コード: 1
完了: no
at sun.reflect.GeneratedConstructorAccessor27.newInstance(不明なソース)
そしてglassfishは起動しません
ear ファイルを作成したり、glassfish 組み込みサーバーを起動したり、同じプロジェクトで統合テストを実行したりできないということは、Maven ライフサイクルで何かをしなければならないことを私は知っています。
誰かが私に解決策を提案してもらえますか? EJB およびビジネス エンティティ プロジェクトだけで ear ファイルを作成し、組み込みの glassfish サーバーにデプロイして、追加する親 pom.xml によって作成された ear ファイルをデプロイする代わりに、maven-failsafe-plugin との統合テストを実行しようとしています。 UI およびその他のプロジェクトを ear ファイルに追加します。
ここに私のpom.xmlファイルがあります
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
junit - 確実なレポートを2つ以上のカテゴリに分ける方法は?
テストを3つの異なるカテゴリに分けたい:
- 単位
- componnet
- システム
次に、それらを異なるフェーズで別々に実行し、これらのテストの実行結果を3つの異なる確実なレポートに表示します。または1つですが、テスト結果を3つの異なるカテゴリに分割します。
Mavenでそれを達成する方法は?
フェイルセーフMavenプラグインを使用してテストを個別に実行できることはわかっています。ですから問題ありません。
唯一の問題は、レポートを3つのカテゴリに分類できることです。
maven - maven-failsafe-plugin が統合テストを実行していません
私の実際のポンポンの一部を怒鳴りつけます。統合テストのテストには、@Test アノテーションで「統合」グループが割り当てられています。少しテストを行うために、テスト段階で「統合」グループを除外しませんでした。
たとえば mvn verify または mvn install を使用してビルドすると、統合テストはテスト フェーズで実行されますが、検証または統合テスト フェーズでは実行されません。実行されたテストの数は 0 のままです。どういうわけか、それらはピックアップされません。誰が何が間違っているのか考えていますか?
更新: TestNG を依存関係としてフェールセーフ プラグインに追加しても役に立たない
java - mvn integration-test と mvn failsafe:integration-test の比較
Maven フェイルセーフ プラグインを使用して統合テストを実行すると、問題が発生しました。私は 2 つのクラスを持っています。1 つは TestUnitTest.java で、もう 1 つは TestIntegrationIT.java です。pom.xml では、次のように構成します。
mvn:integration-test を実行すると両方のテストが実行され、mvn failsafe:integration-test を実行すると "TestIntegrationIT" のみが実行されます。異なる結果を出力するのはなぜですか?
java - Maven フェイルセーフ テストで使用するシステム変数を設定するにはどうすればよいですか?
必要な環境変数を設定していないビルドサーバーでテストを実行しようとしています。
変数は、プロパティ ファイルの場所を解決するために、Spring コンテキスト xml ファイル内から使用されます。
例: classpath:config/${EnvironmentType}/myfile.properties
私はフェイルセーフプラグインを使用しており、変数を設定するためにさまざまな文書化された方法 (非推奨のものも含む) を試しています。違いはありません。変数は決して解決されません。
私の設定は以下です:
実際にマシンに設定せずに、テスト用にこのenv varを設定するにはどうすればよいですか?
注:これを mvn verify -DEnvironmentType="DevelopmentIntegration" で実行すると機能します。mvn verify だけで動作させたい。
乾杯、ピーター
maven - maven-failsafe-plugin 失敗とビルドの成功?
maven-failsafe-plugin を使用していくつかの統合テストを実行したいと考えています。いずれかのテストが失敗した場合、ビルド成功ではなく、Maven がビルドに失敗することを望みます。
どうすればそれを構成できますか、そのビルドは成功しませんか?
私のフェイルセーフプラグインは次のように構成されています。
maven - Netbeans は、統合テストを 2 回ビルドする依存関係を使用してビルドします
次の子モジュールを持つ親モジュールがあります
フェイルセーフ プラグインを使用して統合テストを実行しています。Netbeans で統合テストを実行する前に、エンティティ、ユーティリティ、および ejb である依存関係をコンパイルするように Maven に指示する方法はありますか?
コマンドラインで上記を行うのは簡単です。親 pom.xml に移動して、次を使用できます
mvn --projects util,entities,ejb,integration-tests install
しかし、Netbeans では、統合テスト プロジェクトを選択し、アクションの [依存関係を使用してビルド] をオンにしてから、統合テスト プロジェクトを右クリックして [ビルド] を選択すると、Netbeans はすべての子プロジェクトをビルドしてから、「統合テスト」をビルドします。
問題は、netbeans が統合テストを子プロジェクト リストに追加しているように見えることです。これにより、統合テストが 2 回ビルドされ、テストが 2 回実行されます。
maven - Maven フェイルセーフ プラグインが testNG XML スイートを実行しない
私は Maven を使用して、TestNG スイートにある統合テストを実行しています。Eclipse でスイートを実行すると、テスト スイートが正常に実行されます。「mvn verify」を実行して統合テストを実行すると、フェイルセーフ プラグイン構成のデバッグ プリントに、suite.xml ファイルとコンパイル済みクラスの正しいパスが表示されますが、テストは実行されません (ビルド プロセスは正常に完了します)。
同じ pom 構成を実行しようとしましたが、フェイルセーフ プラグインの代わりに Surefire プラグインを使用し、テストが正常に実行されました。
関連するコンソール出力は次のとおりです。
[デバッグ] 除外: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 [デバッグ] 除外: junit:junit:jar:3.8.1 [デバッグ] 除外: org.apache .maven:maven-core:jar:2.0.9 [デバッグ] 除外: org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9 [デバッグ]
除外: org.apache.maven:maven-repository -metadata:jar:2.0.9 [デバッグ] 除外: org.apache.maven:maven-error-diagnostics:jar:2.0.9 [デバッグ]
除外: org.apache.maven:maven-plugin-descriptor:jar:2.0 .9 [デバッグ]
除外: org.apache.maven:maven-monitor:jar:2.0.9 [DEBUG] 除外: classworlds:classworlds:jar:1.1 [DEBUG] 除外: org.apache.maven:maven-toolchain:jar:2.0.9 [ DEBUG] Mojo org.apache.maven.plugins:maven-failsafe-plugin:2.12.3:integration-test をプラグイン レルム ClassRealm から構成する[プラグイン>org.apache.maven.plugins:maven-failsafe-plugin:2.12.3,親: sun.misc.Launcher$AppClassLoader@121ab80] [デバッグ] mojo 'org.apache.maven.plugins:maven-failsafe-plugin:2.12.3:integration-test' を基本コンフィギュレーターで構成 -->[DEBUG] (s) argLine = -Xmx1024m [DEBUG] (s) basedir = PathToMyDir\MyProject [DEBUG] (s) childDelegation = false [DEBUG] (s) classesDirectory = PathToMyDir\MyProject\target\classes [DEBUG] (s) ) disableXmlReport = false [DEBUG] (s) enableAssertions = true [DEBUG] (s) forkMode = once [DEBUG] (s) junitArtifactName = junit:junit [DEBUG] (s) localRepository = id: local url: file:// /..../.m2/repository/ レイアウト: なし[DEBUG] (f) parallelMavenExecution = false [DEBUG] (s) perCoreThreadCount = true [DEBUG] (s) pluginArtifactMap = {org.apache.maven.plugins:maven-failsafe-plugin=org.apache.maven.plugins:maven -failsafe-plugin:maven-plugin:2.12.3:, org.apache.maven.surefire:surefire-booter=org.apache.maven.surefire:surefire-booter:jar:2.12.3:compile, org.apache. maven.surefire:surefire-api=org.apache.maven.surefire:surefire-api:jar:2.12.3:compile, org.apache.maven.surefire:maven-surefire-common=org.apache.maven.surefire: maven-surefire-common:jar:2.12.3:compile、org.apache.commons:commons-lang3=org.apache.commons:commons-lang3:jar:3.1:compile、org.apache.maven.shared:maven- common-artifact-filters=org.apache.maven.shared:maven-common-artifact-filters:jar:1.3:compile, org.codehaus.plexus:plexus-utils=org.codehaus.plexus:plexus-utils:jar: 3.0.5:コンパイル、org.apache.maven.reporting:maven-reporting-api=org.apache.maven.reporting:maven-reporting-api:jar:2.0.9:compile、org.apache.maven.plugin-tools:maven- plugin-annotations=org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.1:compile} [DEBUG] (f) pluginDescriptor = コンポーネント記述子: 役割: 'org.apache.maven.plugin.Mojo' 、実装: 'org.apache.maven.plugin.failsafe.HelpMojo'、ロール ヒント: 'org.apache.maven.plugins:maven-failsafe-plugin:2.12.3:help' ロール: 'org.apache.maven. plugin.Mojo'、実装: 'org.apache.maven.plugin.failsafe.IntegrationTestMojo'、ロール ヒント: 'org.apache.maven.plugins:maven-failsafe-plugin:2.12.3:integration-test' ロール: ' org.apache.maven.plugin.Mojo', 実装: 'org.apache.maven.plugin.failsafe.VerifyMojo',ロールのヒント: 'org.apache.maven.plugins:maven-failsafe-plugin:2.12.3:verify' --- [DEBUG] (s) printSummary = true [DEBUG] (s) projectArtifactMap = {All Artifacts Here} [ DEBUG] (s) redirectTestOutputToFile = false [DEBUG] (s) remoteRepositories = [id: 中央の URL:http://repo1.maven.org/maven2 レイアウト: デフォルトのスナップショット: [有効 => false、更新 => 日次] リリース: [有効 => true、更新 => なし] ] [DEBUG] (s) reportFormat = brief [DEBUG] (s) reportsDirectory = PathToMyDir\MyProject\target\failsafe-reports [DEBUG] (s) runOrder = filesystem [DEBUG] (s) skip = false [DEBUG] (s) skipTests = false [DEBUG] (s) suiteXmlFiles = [PathToMyDir\MyProject\src\test\resources\MyTestNgSuiteFile.xml] [DEBUG] (s) summaryFile = PathToMyDir\MyProject\target\failsafe-reports\failsafe-summary.xml [DEBUG] (s) testClassesDirectory = PathToMyDir\ MyProject\target\test-classes [DEBUG] (s) testNGArtifactName = org.testng:testng [DEBUG] (s) testSourceDirectory = PathToMyDir\MyProject\src\test\java [DEBUG]
(s) trimStackTrace = true [DEBUG] (s) useFile = true [DEBUG] (s) useManifestOnlyJar = true [DEBUG] (s) useSystemClassLoader = true [DEBUG] (s) useUnlimitedThreads = false [DEBUG] (s) workingDirectory = PathToMyDir\MyProject [DEBUG] (s) project = MavenProject: MyParentProject:MyProject:0.0.1-SNAPSHOT @ PathToMyDir\MyProject\pom.xml [DEBUG] (s) session = org.apache.maven.execution.MavenSession@bffe59 [デバッグ] -- 構成の終了 -- [警告] プラットフォーム エンコーディング Cp1255 を使用して、ファイル エンコーディングが設定されていません。つまり、ビルドはプラットフォームに依存します! [INFO] [INFO] --- maven-failsafe-plugin:2.12.3:verify (verify) @ MyProject --- [DEBUG] mojo org.apache.maven.plugins:maven-failsafe-plugin:2.12.3 の設定:プラグイン レルム ClassRealm からの検証[プラグイン>org.apache.maven.plugins:maven-failsafe-plugin:2.12.3、親:sun.misc.Launcher$AppClassLoader@121ab80] [DEBUG] mojo 'org.apache.maven の構成.plugins:maven-failsafe-plugin:2.12.3:verify' 基本コンフィギュレーターを使用 -->
「 Forking command line: cmd.exe /X /C "C:\Program Files (x86)\Java\jdk1.7.0_04..."コマンドが見つからず、実行されていないようです。助けていただければ幸いです。
maven - 統合テストが失敗したときに「mvn install」は失敗するはずですか?
たとえば、「BlahITCase」という名前の統合テストを持つMavenプロジェクトがあります。このテストは現在失敗しているため、「mvn install」が失敗します。これは予想される動作ですか?私の理解では、単体テスト (surefire) の失敗はビルドの失敗を引き起こしますが、統合テスト (フェイルセーフを使用) の失敗は失敗しません。
pom の build plugins セクションに次のものがあります。
verify ゴールをコメントアウトすると、望ましい動作が得られるようです。