2016-07-07 10 views
0

私は完全なデータセットに対して同じテストを実行する必要があるtestNgクラスを持っています。 @dataproviderの各データラインを提供することができますが、各データラインの結果はレポートファイルに表示されます。私の場合は、何百万というデータをテストする必要があります。これは非常に混乱したレポートを引き起こします。以下は例です。@dataproviderで完全なデータセットを渡す完全なデータセットに対してテストを実行し、全体の結果を報告できますか?

TestData: My Testデータは、各JSONオブジェクトに名前と職業が必要な複数のJSON行を含むファイルです。今、出力レポートが含まれています

public class TestJSon { 
    @DataProvider("lineProvider") 
    public Object[][] lineProvider() { 
     // return JSON lines 
    } 

    @Test (dataProvider = "lineProvider") 
    public void testJsonLines(String name, String occupation) { 
     // Test name and occupation 
    } 
} 

:私のテストNGクラスは次のようになります

{"name":"Jim", "occupation":"racing"} 
{"name":,} 

名ジム testJsonLinesとのラインのために渡さ

testJsonLinesは行{ "名前に失敗しました":、} testJsonLines {@" line "}に失敗しました。 testJsonLinesが{" name ":" Jack "、" occupation ":"}の行に失敗しました。

私はそれが簡単に印刷されたレポートたい:testJSON入力は、私は私のレポートを作成しようとしています、要約するとライン2,3及び4

に入力するために失敗した

を各データを印刷するのではなく、すべてのデータraについて実行結果をグループ化します。これを行う方法はありますか?

答えて

0

私は同様の問題がありました。私たちは何百万というデータをテストしています - データ・アロケーション・アプローチは、メモリ不足のエラーにつながるか、または見やすいものではありません。

IReporterの独自の実装が完成しました。結果をExcelシートに書き込むことで、フィルタを使用したり、必要なカスタマイズを行うことができます。もちろん、これは他のリスナー(ITestListener/IInvokedMethodListener)と連携して、必要な方法で結果をキャプチャする必要があります。

私の場合、私は自分自身の並列性を使って、非常に多くのデータを持つメモリ不足のエラーを乗り越えています。私は通常、90000のテストデータでヒットしました。

関連する問題