gpt4 book ai didi

java - 访问不同类中测试注释中的值 - TestNg

转载 作者:行者123 更新时间:2023-12-01 09:25:48 25 4
gpt4 key购买 nike

我创建了一个自定义注释,如下所示

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface TestConfig {
String[] value();
}

我有一个扩展BaseClass的测试。

import org.testng.annotations.Test;

public class MyTest extends BaseClass {

@Test
@TestConfig({ "enableCookies" })
public void startTest() {
startInstance();
}
}

现在我需要访问下面的 BaseClass 内的 @TestConfig 注释内的值

导入org.testng.annotations.BeforeSuite;

public class BaseClass {

public void startInstance() {
System.out.println("starting instance");
//I need to access the value supplied in "MyTest" inside @TestConfig annotation here. How do I do that.
}

@BeforeSuite
public void runChecks() {
System.out.println("Checks done....");
}
}

我知道我可以执行 TestConfig config = method.getAnnotation(TestConfig.class) 但如何访问 TestNG TestMethod 类?请帮忙。

最佳答案

您可以执行类似的操作(但删除测试方法中的直接调用):

@BeforeMethod
public void startInstance(Method m) {
System.out.println("starting instance");
//I need to access the value supplied in "MyTest" inside @TestConfig annotation here. How do I do that.
TestConfig tc = m.getAnnotation(TestConfig.class);
System.out.println(tc.value());
}

关于java - 访问不同类中测试注释中的值 - TestNg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com