問題タブ [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.
java - オーバーロードされたパラメーター化されたテスト ランナーが JUnit4Provider で動作しない
次のテスト ランナーを使用しています: http://code.google.com/p/migen/source/browse/trunk/java/src/uk/ac/lkl/common/util/testing/LabelledParameterized.java?r= 3789
それは、パラメータ化されたテストの名前を読みやすく変更することです。すなわち: 期待される結果 - "myDefinedTestName"
Eclipse を使用して実行すると、正常に動作します。新しい名前が表示されます。JUnit4Providerを使用して実行すると:
そうではありません。つまり、「oldTestName[0]」を取得します。エラーはありません。これを修正する理由と方法
JUnitCore を使用してみましたが、成功しませんでした。私は次のことをしました:
TestRunner
リスナー
テスト
出力を与えている:
maven - 成功率がSurefireによって正しく処理されない
テストスレッドの同期がとれすぎて失敗することがあると予想される待機テストがあります。だから私はとを設定してsuccessPercentage
、invocationCount
時折許容できる失敗を処理しています。コードが壊れている場合、どの呼び出しも通過しません。
IntelliJでテストを実行すると、すべて問題ありません。しかし、Mavenでビルドしようとすると、次のようになります。
restng-results.xmlを見ると、次のように表示されます。
そして、TEST-TestSuite.xmlには、次のように表示されます。
testngで生成された残りのファイルは、すべてが合格したと考えているようです。しかし、実際には予期しないことが何も起こらなかったのに、確実な火事が混乱しSUCCESS_PERCENTAGE_FAILURE
ているように見えます。<error/>
これが既知の問題なのか、それとも解決策があるのか、誰か知っていますか?
maven - Maven:テストをスキップしますが、確実に失敗します
これが質問なのか提案なのかわかりません。しかし、私は何か間違ったことをしているかもしれないので、質問としてそれをするつもりです.
私の問題は、maven ビルドでテストをスキップしたかったことでした。Eclipse プラグインでは、maven の実行時に構成で [テストをスキップ] オプションをオンにしました。バージョン 2.4.3 をダウンロードできなかったため、Test Surefire プラグインではまだ失敗していました (以前の Maven プロジェクトでは 2.7.2 が使用されていて、既にリポジトリに存在していました)。失敗した。
すでに持っていたsurefireの2.7.3プラグインを使用するようにPOMを構成しましたが、テストをスキップするだけで進みました。さて、私の混乱は、テスト部分をスキップするつもりだったのに、わざわざダウンロードして確実なプラグインが存在するかどうかを確認する必要があるということです。ただそれをスキップしてください..
まあ、それはmavenの通常の動作で、何かをスキップしても、プラグインはそれを使用するかのようにダウンロードされます。または、間違ってダウンロードしたのですか。
「有効なPOM」と呼ばれる新しいものがあり、m2eclipseを使用してEclipseでMavenプロジェクトをインポートし、有効なPOMを編集できなかったときに、プラグイン管理領域に確実なプラグイン2.4.2のリストが含まれていた可能性があります。Maven プロジェクトを作成したとき、NetBeans でこれを見たことがありませんでした。
機能するために、ビルドプロファイルに不要な確実なプラグインエントリを追加し、そこでもテストをスキップして、リポジトリに既にあるバージョンを追加しました。これを行ったのは、プロジェクトを日食の下でも構築できるようにするためだけです。そうでなければ、私のプロジェクトは NetBeans と単純なコマンドラインで問題なく動作します。
どんなコメントでも!!
Maven は最初に SKIP 部分を確認してから、プラグインの使用に進むことができるはずだと思います。
サイード..
maven - マルチモジュール Maven プロジェクトの POM でコンテンツをテストする
Surefire プラグインを使用した単体テストと Failsafe プラグインを使用した統合テストについてはこちらを読みましたが、それぞれが独自の POM ファイルを持つ親モジュールと複数の子モジュールで構成される Maven プロジェクトで POM がどのように見えるかについてはまだ不明です.
質問:
- 各モジュールに統合テストと単体テストを実装した人はいますか?
- もしそうなら、あなたのPOMを見せていただけませんか?
java - Junitテストの副作用を自動的に判断する
私は一連のレガシー単体テストを持っています。そのほとんどはSpringAbstractTransactionalJUnit4SpringContextTests
テストですが、トランザクションを独自に管理するものもあります。残念ながら、これにより、テストデータセットを変更するときに完全に無関係なテストが失敗するという副作用が発生したようです。つまり、失敗したテストは、(同じ初期データセットを使用して)単独で実行すると機能しますが、次のように実行すると失敗します。テストの完全なセットの一部。
テストは通常、通常のMavenビルド中にMavenのsurefireプラグインを介して実行されます。
私が探しているのは、実行されたテストの量と順序を並べ替えて原因を特定する自動化された方法です。素朴ですが、かなり高価なアプローチでは、すべてのテストのべき集合を取り、すべての可能な組み合わせを実行します。より最適化されたアプローチでは、既存のテスト実行順序(ほとんどはランダムですが安定しています)を使用し、すべての潜在的な順序付きサブセットをテストします。このプロセスの実行時間は長くなる可能性があることを認識しています。
箱から出してこれを行うことができるツール/Mavenプラグインはありますか?
jpa - Maven と組み込みのグラスフィッシュを使用した CDI クラスパスの問題
EntityManager
テスト ソースのからProducer
メイン ソースのサービスへの の注入に問題があります。意図は、このライブラリを別のプロジェクトに埋め込むことであり、プロジェクトはProducer
独自のPersistenceContext
unitName を使用して を定義します。メイン ソースに Producer がない場合、Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName MY_PU
エラーが発生します。
例えば:
サービスをテストするには、maven ant プラグインを使用して *.class ファイルをディレクトリに移動しtarget/classes
、パッケージ フェーズの前に削除する必要があります。これは機能しますが、面倒です。Surefire プラグインのパラメータとパラメータを変更しようとしましたが、成功しませんでし <useSystemClassLoader>
た。<useManifestOnlyJar>
別の方法はありますか?
私の環境
- メイヴン: 2.2.1
- シュアファイア: 2.4.2
- glassfish-embedded-all: 3.1.1
編集
beans.xml は (test/main)/resources/META-INF の両方に存在します
以下のようにGFコンテナを起動しています。
java - レポートへのjunit追加ファイル
JUnitで書かれたテストがあります。失敗した場合、レポートにファイルを追加したいと思います。
私の考え: パスとレポート名を取得するだけでよいので、そのすぐ隣にカスタム ファイルを配置して、簡単に見つけられるようにします。
そのレポート ファイルまたはパス名を取得するにはどうすればよいですか?
追加情報: これらのテストは、Eclipse または Jenkins を介して実行されます。
更新: 名前は次のように見つけることができます: Get name of currently running test in JUnit 4
パスは確実なトピックのようです...
maven - テストでファイル記述子がリークするのはなぜですか?
JUnit と Selenium2 を使用してアプリケーションをテストしています。Jenkinsで実行されているsurefireプラグインでMavenを使用してテストを実行します。数週間うまくいったテストで、さらに多くのテストを追加したところ、テストは次のメッセージで失敗しました。
たとえば、WebDriver (およびそれらをコピーするための apache commons IO) を使用してスクリーンショットを撮るときなど、コードでファイルを開いたままにしておくだけだと最初に考えました。
ただし、スクリーンショットの記録を削除しても問題は解決しません。
ここで何が問題なのか、および/またはこの問題に取り組む方法についての指針はありますか?
編集:
WebDrivers / browser インスタンスを再利用するために、WebdriverPool を実装しました。テストが終了したら、シャットダウン フックを使用して、開いているすべてのインスタンスを閉じます。
これが問題ではないでしょうか?
spring - maven: 異なる構成に対して同じテストを実行する
私のSpring + Mavenアプリでは、複数のデータソースに対して実行したいデータアクセスレイヤーのテストをいくつか作成しました。私は次のようなものを持っています:
現在、構成の場所がハードコードされているため、1 つのデータソースに対してのみ使用できます。テストを 2 回呼び出して、2 つの異なる構成 (testAppConfigMysql.xml と testMyConfigHsqlDb.xml など) を渡す最良の方法は何ですか?
システムプロパティを介してこれを行うための提案を見てきました。システムプロパティの異なる値でテストを2回呼び出すようにmavenに指示するにはどうすればよいですか?
testing - TestNG surefire、mavenコマンドラインでスイートを実行
コマンドラインからMavenを介して事前定義されたxmlスイートを実行することは可能ですか?
クラスや特定のテストを実行することができます。しかし、私はスイートを実行することができません。
これが私がコマンドラインから実行しているものです:->
私はintelliJを介してうまく実行されるスイートを定義していますが、suite.xmlファイルを呼び出す方法がわかりません。
または、たとえば、テストが実行された後、testngはtestng-failedファイルを作成します。このファイルは、失敗したすべてのテストを再度実行するように設定されています。
mvnを使用して、このテストスイートをどのように開始しますか。