TestNG @BeforeGroup 在组为 运行 之前不执行
TestNG @BeforeGroup is not executed before the group is run
给定以下代码:
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();
但是我不知道我错过了什么。在我看来,"regression" 组将是 运行,@beforeGroup 的 setUp 方法将是 运行,然后是带有 @Test 的 testMyObjectToString。显然这不是正在发生的事情..
testNG 的新手可能会犯一个非常愚蠢的错误...
@BeforeGroups("regression")
这是一个错误的用法。正确的用法应该是:
@BeforeGroups(groups = "regression")
花了我两天时间!!
给定以下代码:
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();
但是我不知道我错过了什么。在我看来,"regression" 组将是 运行,@beforeGroup 的 setUp 方法将是 运行,然后是带有 @Test 的 testMyObjectToString。显然这不是正在发生的事情..
testNG 的新手可能会犯一个非常愚蠢的错误...
@BeforeGroups("regression")
这是一个错误的用法。正确的用法应该是:
@BeforeGroups(groups = "regression")
花了我两天时间!!