3

@Factory注釈を使用して、動的に生成された JUnit テスト スイートを TestNG に変換しました。テストは、(DSL で記述された) 複数のテスト仕様ファイルを含むディレクトリをスキャンし、実行方法を認識しているテスト クラスにそれらをロードすることによって生成されます。テスト クラスには、推奨されるように、implementsおよび overridesという名前の単一の@Testメソッドがあります。testorg.testng.ITestgetTestName()

ただし、TestNG Eclipse UI では、ファクトリと の 1 回の実行のみtestが表示されます (予想どおり、複数回実行されます)。JUnit では、各仕様の名前を個別のテストとしてリストしました。いくつかのテスト スペックが失敗する可能性があり、すべての失敗を確認する必要があるため、これは非常に重要です (TestNG Eclipse UI では機能しません)。

TestNGで同様のことを達成するにはどうすればよいですか? Eclipse TestNG プラグイン 6.7.0 と testng 6.7 を使用しています。

4

2 に答える 2

4

carlin.scott が示唆したように、XmlTestこの問題には拡張が有効です。ただし、toString()( を呼び出す代わりにsetName) テスト名を返すようにオーバーライドしました。これには、TestNG ビューのテスト名が読みやすいという利点があります。デフォルトでは、パラメーターやメタグループなどの追加情報が含まれています。

于 2012-09-07T04:26:23.547 に答える
4

テスト クラスで XmlTest を拡張して、setName() を呼び出してみてください。私はXmlSuiteを拡張し、setNameを使用して「テストスイート」に名前を付けました。これは、複数のテストが定義されたクラスであり、私にとってはうまくいきました。実際、同じクラスで提案したことを試してみたところ、正しい名前のテストと呼ばれるようになりました。ITest インターフェイスが無視されている理由がわかりません。そのアプローチも試してみましたが成功しませんでした。

于 2012-09-06T01:07:49.420 に答える