我已将变量enabled_status定义为我的类变量,并希望为TestNG的启用注释设置它的值,如下所示。
public class Test{
boolean enabled_status = false;
@Test(priority=1, enabled=enabled_status)
public void testMethodA() throws InterruptedException{
....code...
....code...
}
我收到以下错误消息
注释属性Test.enabled的值必须为常数 表达
请建议我如何实现预期的行为,以便可以从类变量或excel中为enabled属性设置值。
答案 0 :(得分:0)
注释值不能通过变量设置。 Java语言不允许您这样做。
如果您想在运行时翻转批注值,则应执行以下操作。
org.testng.IAnnotationTransformer
的实现transform()
方法中,您将可以访问注释以及构造函数,方法或类[因为TestNG注释可以在任何这些方法之上使用],并且可以翻转注释值。testng.xml
标签在<listeners>
中引用此实现(我们称为TestNG侦听器)。