1

これが私の状況です。

テストを実行する前に、beforesuite で一連の「環境オブジェクト」をインスタンス化します。これらのオブジェクトは、環境構成ファイルに基づいて作成されます。これらの環境オブジェクトを実際に使用するのは私のテストです。問題は、どうすればそれらをテストに渡すことができるかです。

最初の衝動は、正しいオブジェクトをテストに渡すデータ プロバイダーを使用することかもしれません。問題は、データ プロバイダーが正しいオブジェクトを参照して渡す方法を知っている必要があることです。現在のところ、環境オブジェクトは名前でのみ参照できます (文字列 -> オブジェクト)

もう 1 つのオプションは、正しいオブジェクトを参照する文字列をテスト メソッドに渡すことです。しかし、これには上記と同じ問題があります。

これらのオプションはどちらも、多くの依存関係と問題を引き起こします。また、キーが参照する型について多くの仮定を立てる必要があります。

この問題のほとんどは、私が TestNG を悪用したことに起因しています。本当に必要なのは、適切な環境オブジェクトを渡しながら Test オブジェクトをインスタンス化できる独自のコントローラーです。

私は testng の TestRunner インターフェイスを調べていましたが、これが機能するかどうかはわかりません。

ありとあらゆる助けをいただければ幸いです。エリック

4

2 に答える 2

3

@Factory と @DataProvider を組み合わせて使用​​しないのはなぜですか?

ファクトリは、テスト インスタンスを作成し、それらに正しいパラメーターを渡す役割を担います。文字列 (この場合、データ プロバイダーはこれらの文字列をオブジェクトに変換できます) またはオブジェクトを直接渡します。この場合、テストはこれらの値を直接使用できます。 .

これが問題の解決に役立たない場合は、自由にコードを投稿してください。

-- セドリック

于 2010-02-09T23:20:18.320 に答える
0

同様の状況があり、代わりに Java プロパティを使用することになりました。

このようにコードでプロパティを使用し、変数を -Dmyproperty.value=hello で JVM に渡すことができます。環境パス、サービス URL、タイムアウト量などに使用しました。

于 2010-03-04T22:50:15.060 に答える