問題タブ [testng]

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 投票する
1 に答える
4217 参照

java - TestNg、アノテーション「beforeTestMethod」およびオーバーライド

私のテストでは、基本的な準備をMyTestBase行うメソッドを定義する基本クラスを使用しています。setup()

現在、独自の準備を行う必要がある、より具体的なテスト クラスがいくつかあります。これを実装する方法はいくつかあります。

私は使用できます@Override

...または、別のセットアップ方法を使用できます。

これを実装するための好ましい方法はありますか?

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

java - Spring3 / Hibernate3 / TestNG:一部のテストではLazyInitializationExceptionが発生しますが、一部のテストでは発生しません

序文:ユニットテストでLazyInitializationExceptionに苦労していますが、私の質問からわかるように 、Spring 、TestNG、Spring 3のデータベースセッションとHibernateのユニットテスト中のLazyInitializationExceptionに頭を悩ませています。 TestNGを使用してSpringで使用するエンティティクラス

明確に質問できるように、GitHubでサンプルプロジェクトを作成しました。http://github.com/niklassaers/Sample-Spring3-App/ このサンプルプロジェクトでは、直面している問題を再現します。私のSpring3/Hibernate3/TestNGプロジェクトで。

質問:私には2つの単体テストがあります。それらは非常によく似ており、同じサービスを使用して同じアイテムのコレクションに対して同じクラスをテストします。1つは実行され、もう1つは失敗します。失敗したものが失敗するのはなぜですか?(または、実行中のものが同じように失敗しないのはなぜですか?)

失敗したテストは次のとおりです。

完全なコード(http://github.com/niklassaers/Sample-Spring3-App/blob/master/src/tld/mydomain/sample/entities/test/FailingUserUnitTest.java

実行中のテストは次のとおりです。

完全なコード(http://github.com/niklassaers/Sample-Spring3-App/blob/master/src/tld/mydomain/sample/entities/test/UserUnitTest.java

以下は、私のテストを実行したときのコンソール出力です。TransactionProxyFactoryBean( http://github.com/niklassaers/Sample-Spring3-App/blob/master/WebRoot/WEB-INF/App-Model.xmlを参照)でラップされたサービスを実行できることを理解していますトランザクションで、単体テストはラップされないため、テストはビューのようになります。OpenSessionInViewInterceptorで「修正」したビュー。しかし、AbstractTransactionalTestNGSpringContextTestsから拡張されたクラスで@Testで注釈が付けられた各単体テストも、独自のトランザクションでラップする必要があることを学びました。実際、各テストの終了後にトランザクションをロールバックするように両方のクラスに注釈を付けました。そのため、1つのテストが失敗し、もう1つが失敗する理由について私は二重に戸惑っています。手がかりや解決策はありますか?

必要に応じて、GitHubでサンプルプロジェクトを自由に変更してください。すべてのコードがそこにあるはずですが、簡単にするためにjarファイルは省略しています。約束どおりの完全な出力は次のとおりです。

乾杯

ニック

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

log4j - TestNGに接続するlog4jアペンダーはありますか?

log4jを使用しており、通常はログ機能に記録されるログメッセージを、単体テスト中にTestNGによって作成されたテストレポートに表示したいと考えています。

Appenderこれは、TestNGに出力するlog4jListenerと、Mavenプロジェクトのsrc / test/resourcesディレクトリにある適切なlog4j構成を意味すると思います。あれは正しいですか?

書くのはかなり簡単なようですが、Mavenを介して引き込むことができるものはありますか?

0 投票する
6 に答える
56329 参照

java - testng.xmlを使用して大規模なTestNGスイートから1つのテストを実行するには?

大量のメソッドを含む TestNG スイートがあります。TestNG ランナーの上に構築されたラッパーを使用して、このスイートを実行します。スイート内のすべてのテストが 1 つを除いて失敗します。失敗したテストを 1 つだけ実行するには、testng.xml に何を記述すればよいですか?

明白な解決策は、一意のグループ名をすべてのメソッドに割り当ててから、testng.xml で名前を指定することです。これは 2 ~ 3 つのメソッドの場合に機能しますが、テストの数が増えると難しくなります。

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

java - .class ファイルが作成されたことをテストするにはどうすればよいですか?

.java ファイルを作成してコンパイルする必要があるコードを単体テストしてから、対応する .class ファイルを作成する必要があります。

「.class」ファイルが作成されたかどうかを確認するテストを作成するにはどうすればよいですか? その存在についてすでにテストを追加しました。今、ファイルが有効なクラスファイルであることをテストしようとしています。

私は試した

しかし、ファイルが作成されたパスをクラスパスに動的に追加する方法がよくわかりません。

編集

ロードされた URL クラスが機能します。

これが私のテストの様子です。

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

unit-testing - 配列の配列をスプリングコンテキストに入れる

Spring を使用してデータ ソースを提供する TestNG テスト ケースを見つけました。その結果、コードは非常にクリーンで簡潔になります。

ただし、入力の変数リストを取得できるように、テスト ケースを拡張する必要があります。

以下で試みたように、リストのリストに Bean 参照を使用して立ち往生していますか? それを行う方法はありますか (つまり、入力とそれに続く出力の論理フローを分割しない)。より良い方法はありますか?

String[2] のリストを提供する方が簡単な方法であるため、元のコードではリストの代わりにマップを使用しているように見えることに注意してください。

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

selenium - TestNG + Selenium の問題。noClassDef エラー、TestNG ベースのセレン テスト

私は多くのガイドやフォーラムの投稿をオンラインでフォローしてきましたが、これを TestNG 内で機能させることができませんでした。これは、日食でプログラムされたセレン グリッド ベースのテストです。問題があったため、このフォーラム投稿の提案にリストされているライブラリを使用しました: http://clearspace.openqa.org/message/66867

Eclipse (org.testng.eclipse) 用の testNG テスト プラグインでスイートを実行しようとしています。また、コマンドラインからセレングリッドを介してjarを実行しようとしましたが、役に立ちませんでした。

私は Java 開発者ではないので、正直なところ、何を探すべきか完全にはわかりません。Processing 環境のおかげで Java にはある程度慣れていますが、このタスクのために Java/Eclipse に放り込まれてしまい、少し途方に暮れています。とにかく、どんな助けでも大歓迎です。事前に感謝します。

これが私のコードです:

suite.java:

実際のテストケース

および SeleneseTestNGHelper クラス

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

java - org.jboss.seam.postInitializationのオブザーバーが正しく機能することをテストする方法

グローバル管理者権限を持つユーザーが少なくとも1人存在することを確認し、存在しない場合は1人作成するSEAMコンポーネントを作成しました。

次に、インストーラーが正しく機能することをテストする必要があります。isInstalled()がtrueを返すことを確認し、正しいユーザーとロールがデータベースに存在することを確認する必要があります。ただし、インストールが完了する前にSeamT​​est.ComponentTest.testComponents()が実行されています。ログを見ると、インストーラーからの最後のメッセージが2回目のテスト実行の途中に表示されるため、テストがランダムに失敗することがわかります。

次の方法でインストーラーをテストしようとしています。

インストールが完了した後、どうすればテストを開始できますか?

私はSEAMを初めて使用するので、すべてを完全に間違っているのかもしれません。もっと良い方法があれば教えてください。

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

testng - TestNG + Selenium Grid、1 つの RC のみ実行、

TestNG で Selenium Grid を使用して Web サイトをテストしています。Selenium IDE からエクスポートしたテスト コードは正常に動作します。私の問題は、テストが並列ではなく順次実行されていることです。

コードは次のとおりです。

私のtestng.xmlは次のようになります:

スイート thread-count="5" skipfailedinvocationCounts="false" verbose="1" name="コマンド ライン スイート" junit="false" parallel="methods" 注釈="JDK"

私は何を間違っていますか?複数の Selenium RC が開始されていますが、テストは 1 つの Selenium RC でのみ実行されます。

誰かが私を助けてくれることを願っています、それは本当に重要です。

ありがとう!

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

java - @AfterMethod と ITestListener#onFailure の TestNG 呼び出しシーケンス

テストが失敗した場合に最初に呼び出されるものを誰か知っていますか?