2013-08-07 5 views

答えて

10

はい、その完全に可能:

適切な方法は、@Factoryを使用するために、ここで説明するように、データの各セットのためにあなたのテストクラスのインスタンスを作成することです。 @BeforeMethod注釈付きメソッドでは、Object []のオプションのビルトイン引数を渡すことができます。これは、基本的に@Testメソッドに渡されるパラメータのコピーです。私の場合、私は私のテストメソッドに2つの引数を渡す:

@Test(dataProvider="provider") 
public void doTest(TestHelper testHelper, Map<String,String> paramMap) { 
    .... 

ので、このようなもの(と、それは工場データプロバイダである必要はありません):

@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")); 
} 
+0

を書いてくれてありがとう@djangofan。あなたは私の一日を救った! –

+0

TestNGのパワーを過小評価しないでください! – djangofan

関連する問題