問題タブ [surefire]

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.

0 投票する
2 に答える
3801 参照

eclipse - フィルタリングされたリソースを使用して maven junit テストをデバッグしていますか?

通常、maven Surefire プラグインによって実行される JUnit テストで、フィルター処理された testResources を使用しています。つまり、pomにはセクションが含まれています

このような JUnit テストをデバッガーで実行するにはどうすればよいですか? Eclipse でテストを実行すると、テスト リソースがフィルター処理されないため、テストは失敗します。フィルタリングされたテスト リソースがターゲット ディレクトリのどこかに書き込まれる場合、これを追加のソース パスとして使用できますが、そうではありません。Debug As / maven test を使用して eclipse で maven ビルドを実行しようとすると、ビルドがブレークポイントで停止しません。他のアイデアはありますか?

0 投票する
1 に答える
794 参照

maven-2 - Mavenテスト失敗xmlFileNotFoundException

私のMavenビルドはFileNotFoundExceptionでHudsonで失敗しますが、NetBeansでは同じ失敗は発生しません。FileNotFoundExceptionは、テストクラス自体と同じパッケージ内の一部のxmlファイル用です。これらは、クラスファイルと同じようにビルドの一部としてコピーされていないように見えます。xmlファイルをコピーするためにPOMに何かを追加する必要がありますか?

さらに情報が必要な場合はお知らせください。簡単な質問に備えて、質問は短くしたいと思います。

0 投票する
1 に答える
2878 参照

maven-2 - Maven / Surefireユニットテストの「mvntest」の実行中にマニフェストを使用可能にするにはどうすればよいですか?

Maven / Surefireユニットテストの「mvntest」の実行中にマニフェストを使用可能にするにはどうすればよいですか?

単体テストを含め、AntからMavenに変換するオープンソースプロジェクトがあります。Mavenプロジェクトのプロジェクトソースリポジトリは次のとおりです:http: //github.com/znerd/logdoc

私の質問は、「ベース」と呼ばれるプライマリモジュールに関するものです。getVersion()このモジュールには、クラス内の静的メソッドの動作をテストする単体テストがありますorg.znerd.logdoc.Library。このメソッドは以下を返します:

このgetImplementationVersion()メソッドは、マニフェストファイルの設定値を返します。ここまでは順調ですね。META-INF/MANIFEST.MF私は過去にこれをテストしましたが、マニフェストがパスのクラスパス(ファイルシステムまたはJARファイル内)で実際に使用可能である限り、正常に機能します。

今の私の課題は、単体テストを実行するとマニフェストファイルが利用できないことです。

Surefireは単体テストを実行しますが、単体テストが失敗し、メッセージがLibrary.getVersion()返されたことを示しnullます。

JARを確認したいのですが、まだ生成されていないことがわかります。Maven / Surefireは、リソースがクラスパスに追加される前に、クラスに対して単体テストを実行します。

さらに調査すると、Surefireは一時ディレクトリに独自のJARファイルを生成します。

次に、このJARを使用してLibraryクラスをロードします。このJARには、私がスタックしたリソースが含まれていませんsrc/main/resources。したがって、ファイルを置くことMETA-INF/MANIFEST.MFも機能しません。

META-INF/MANIFEST.MFでは、クラスと同じクラスローダーからファイルを利用できるようにSurefireに指示するにはどうすればよいですかLibrary

Mac OS X10.6.2ではJUnit4.8.1でMaven2.2.0、Java1.6.0_17を使用していることに注意してください。

0 投票する
1 に答える
2142 参照

maven-2 - JUnit 4でsurefireログに何かを書き込む方法

テスト内から Surefire-reports/MyClass.txt に何かを書き込むことは可能ですか? 任意の種類のロガーなど? TestNG には Reporter があります。

メッセージはレポートのテスト方法の下に表示されます。JUnitに似たものはありますか

0 投票する
2 に答える
5785 参照

maven-2 - maven surefire additionalClasspathElements 単一テスト

複数の Maven プロジェクトで共有される 1 つのメイン構成ファイルと 1 つのテスト構成ファイルがあります。テスト中に、テスト構成ファイルがあるディレクトリへのクラスパスを指定しています。

プロジェクト全体がテスト/ビルドされている場合、これはうまく機能しますが、単一のテストを実行している間は機能しません。構成ファイルがクラスパスに見つかりません。

ここに設定があります:

単一のテストを実行するためにsurefireがプロパティを無視する理由は何ですか?

ありがとうございました

0 投票する
2 に答える
816 参照

java - TestNGAntタスクとSurefire

TestNGを実行するときのsurefireはTestNGantタスクとどのように違うのだろうかと思っていました。その理由は、JUnitテストベースを拡張するTestNGテストを実行しようとすると、動作に一貫した違いが見られるためです(これは、ここで説明されているTestNGでJBehaveテストを実行するための回避策です:http://jbehave.org/documentation/faq/)。Surefireは私のテストをJUnitテストとして誤って検出しますが(おそらくそのベースがTestCaseであるため)、Antタスクは完全に実行されます。TestNGが両方のケースをどのように処理するかについての洞察を誰かが提供できますか?

テストは次のようになります。

0 投票する
2 に答える
34001 参照

maven-2 - Maven Surefire プラグイン フォーク モード

デフォルトでは、maven Surefile プラグインは隔離された (フォークされた) 環境でテストを実行します。この動作は、次の構成でオーバーライドできます。

テストをデバッグする必要がある場合は、この構成スニペットを使用する必要があります。または、次の方法で maven build を実行することもできます。

これにより、ポート 5005 でデバッガーが開始されます。

私の質問は次のとおりです。分岐戦略にはどのような利点があり、maven ビルドのデフォルト戦略として選択されるのはなぜですか? 非フォーク戦略はより簡単なので、デフォルトとして使用する必要があります (maven は構成ツールよりも慣例です)。

0 投票する
2 に答える
4502 参照

maven-2 - surefireで生成されたXMLのDTDまたはXMLスキーマはどこにありますか(TEST-.xml)ファイル?

surefireで生成されたXML(TEST-.xml)ファイルのDTDまたはXMLスキーマはどこにありますか?

0 投票する
18 に答える
122149 参照

java - JUnitテストはEclipseで合格しますが、MavenSurefireでは失敗します

JUnit4とスプリングテストライブラリを使用していくつかのJUnitテストを作成しました。Eclipse内でテストを実行すると、正常に実行されて合格します。しかし、Mavenを使用して(ビルドプロセス中に)実行すると、失敗してスプリング関連のエラーが発生します。JUnit、Surefire、Springのどれが問題の原因なのかわかりません。これが私のテストコード、スプリング構成、そしてMavenから得た例外です:

PersonServiceTest.java

personservice-test.xml

Mavenでの例外

0 投票する
3 に答える
5510 参照

maven-2 - クラスパスからMavenテストを実行する

巨大な混乱をクリーンアップするために、テストのコードをすべて1つの通常のJavaプロジェクト(すべてsrc / main / javaにある)に入れ、それを<scope>test</scope>別のプロジェクトの依存関係として宣言し、期待します。実行するテスト。

そのような運はありません。surefireは、ソースで確認できるテストを実行したいだけです。

ここでは、build-helper-pluginを使用し、テストをソースディレクトリとしてテストコンパイル環境に追加するという、悲しいことに明白な解決策を見ることができますが、それを避けたいと思っていました。

誰かが疑問に思っている場合、これのすべての理由は、いくつかの統合テストを実行するためにフェイルセーフプラグインを使用するためのPOM構成が非常に複雑になり、テストの実行からテストクラスのコンパイルを分割したかったためです。