Allure TestNG: 使用@DataProvider时自定义测试方法名称
创始人
2024-08-07 05:00:16
0

在使用Allure TestNG和@DataProvider时,可以通过实现ITestAnnotation接口来自定义测试方法名称。下面是一个示例:

import io.qameta.allure.Allure;
import io.qameta.allure.AllureLifecycle;
import io.qameta.allure.model.Label;
import org.testng.ITest;
import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.List;

@Listeners(CustomNameListener.class)
public class CustomNameTest implements ITest {

    private String testName;

    @DataProvider(name = "data")
    public Object[][] testData() {
        return new Object[][]{
                {"Test 1", "Data 1"},
                {"Test 2", "Data 2"},
                {"Test 3", "Data 3"}
        };
    }

    @Test(dataProvider = "data")
    public void testMethod(String testName, String data) {
        this.testName = testName;
        System.out.println("Test Data: " + data);
    }

    @Override
    public String getTestName() {
        return testName;
    }
}

class CustomNameListener implements ITestListener {

    private AllureLifecycle lifecycle = Allure.getLifecycle();

    @Override
    public void onTestStart(ITestResult result) {
        if (result.getMethod().getConstructorOrMethod().getMethod().getDeclaringClass()
                .getAnnotation(Listeners.class) != null) {
            ITest test = (ITest) result.getInstance();
            List

在上述示例中,我们实现了ITest接口并重写了getTestName()方法,该方法用于获取自定义的测试方法名称。

然后,我们创建了一个名为CustomNameListener的ITestListener实现类,该类用于在测试开始时更新Allure报告中的测试方法名称。

最后,在测试类上使用@Listeners(CustomNameListener.class)注解将CustomNameListener类应用到测试类中。

这样,在使用@DataProvider进行数据驱动测试时,每个测试方法的方法名将根据数据提供者中的参数自动设置为自定义名称,从而实现了自定义测试方法名称的目的。

相关内容

热门资讯

iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...
希沃系统怎么装安卓系统,解锁更... 亲爱的读者们,你是否也像我一样,对希沃一体机上的安卓系统充满了好奇呢?想象在教室里,你的希沃一体机不...