14

@BeforeMethodデータ プロバイダー パラメーターを使用して実行する必要があるいくつかの init ステートメントがあり、 setup メソッドでデータ プロバイダー パラメーター値にアクセスしたいと考えています。これは可能ですか?

4

2 に答える 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 に答える