相关疑难解决方法(0)

使用提供程序时覆盖 TestNG 测试名称并省略参数

有以下示例代码......在运行测试(和报告)时,我希望将测试名称设置为提供者提供的描述字段(实际上它是任何字符串)。

...但是,即使从 ITest 扩展,似乎所有提供程序参数都附加到 TestName,我想要的只是描述。

所以实际的测试名称应该是 "TestName1" 而不是 "TestName2[1](TestName2, 2, 2, 4)" .. 这是 XML 报告中显示的内容,以及 test.aftertest 名称。

import org.testng.Assert;
import org.testng.ITest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import java.lang.reflect.Method;

public class TestNgProviderExample implements ITest{

    @Test(dataProvider = "summationProvider")
    public void testProvider(String description, int number1, int number2, int sum) {
        Assert.assertEquals(sum, number1 + number2);
    }

    @DataProvider(name = "summationProvider")
    public Object[][] summationData() {
        Object[][] testData = {{"TestName1",1,2,3},{"TestName2",2,2,4}};
        return testData;
    }

    private String reportedTestName = "";

    @BeforeMethod(alwaysRun = true)
    public void testData(Method method, …
Run Code Online (Sandbox Code Playgroud)

java testng testng-dataprovider

1
推荐指数
1
解决办法
3717
查看次数

标签 统计

java ×1

testng ×1

testng-dataprovider ×1