【发布时间】:2015-08-03 14:00:05
【问题描述】:
我正在使用 TestNG 运行数据驱动测试
我的数据是从外部文件中读取的
-
我有一个重试逻辑,它本质上是同一个类中的不同测试方法,但只重试上一个测试中失败的实体。我正在使用优先级控制它
Test(dataProvider="customTestDataProvider" , priority = 1) public void testSomething(final ITestContext testContext , final CustomTestDataItem testData) throws CustomTestException{ setTestData(testData, testContext); performStep1(); performStep2(); validateResult(); } @Test(dataProvider="customTestDataProvider" , priority = 2) public void testSomethingRetry1(final ITestContext testContext ,final CustomTestDataItem testData) throws CustomTestException{ testSomething(testContext , testData); } @Test(dataProvider="customTestDataProvider" , priority = 3) public void testSomethingRetry2(final ITestContext testContext ,final CustomTestDataItem testData) throws CustomTestException{ testSomething(testContext , testData); } customTestDataProvider 知道该方法针对哪个 testData 项失败,因此在
testSomethingRetry1中只会提供失败的测试数据如果一个测试方法在
testSomething中失败,它会在testSomethingRetry1中重试,但 testNG 认为它失败了,因为它在testSomething中失败了所以我需要一个自定义逻辑来确定套件是通过还是失败。如何用我确定的结果覆盖 testNG 结果(通过/失败)?
【问题讨论】: