给出以下代码:
public class NewTest {
private Object _foreground = null;
@BeforeGroups("regression")
public void setUp() {
System.out.println("executed? setUp");
_foreground = new MyObject();
}
@Test(groups="regression")
public void testMyObjectToString() throws Exception {
System.out.println("??? ");
System.out.println(_foreground == null);
String value = _foreground.toString();
Assert.assertTrue(value != null);
}
}
testNG.xml:
<groups>
<run>
<include name="regression" />
</run>
</groups>
<classes>
<class name="com.automation.test.NewTest"/>
</classes>
当我试图运行时,打印语句说:
???
true
这意味着_foreground为null,这意味着不会执行setUp方法。 TestNG还在行上显示了java.lang.NullPointerException:
String value = _foreground.toString();
然而我不知道我错过了什么。在我看来&#34;回归&#34;将运行group并且带有@beforeGroup的setUp方法将在带有@Test的testMyObjectToString之前运行。显然这不是正在发生的事情..
答案 0 :(得分:13)
这可能是一个非常愚蠢的错误,也许有人会对testNG的新手做出......
@BeforeGroups("regression")
这是一个错误的用法..正确的用法应该是:
@BeforeGroups(groups = "regression")
花了我两天!!