@BeforeMethod
データ プロバイダー パラメーターを使用して実行する必要があるいくつかの init ステートメントがあり、 setup メソッドでデータ プロバイダー パラメーター値にアクセスしたいと考えています。これは可能ですか?
質問する
6839 次
2 に答える
22
はい、完全に可能です。注釈付きメソッドでは@BeforeMethod
、基本的にメソッドに渡されるパラメーターのコピーである Object[] のオプションの組み込み引数を渡すことができます@Test
。私の場合、テスト メソッドに 2 つの引数を渡します。
@Test(dataProvider="provider")
public void doTest( TestHelper testHelper, Map<String,String> paramMap ) {
....
したがって、次のようなものです(ファクトリDataProviderである必要はありません):
@BeforeMethod
public void setUp( Object[] testArgs ) {
Map<String,String> paramMap = (Map<String, String>)testArgs[1];
TestHelper testHelper = testArgs[0];
String testName = paramMap.get( "testCaseName" );
log.logTcStep( "Test case name: " + testName );
log.setLogTcName( testName );
testHelper.setTestName( testName );
testHelper.setTagsByString( paramMap.get( "browser" ) );
testHelper.setBuildNumber( paramMap.get( "environment" ) );
}
于 2014-10-10T15:14:39.143 に答える
-2
いいえ、ありません。
ここで説明されているように、@Factory を使用し、データ セットごとにテスト クラスのインスタンスを作成するのが適切な方法です。
于 2013-08-07T14:20:22.917 に答える