我有一个 Calc 类,它实现了两个方法 add(int a, int b) 和 div(int a, int b) 以及该类的一个测试类:
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class CalcTest {
Calc c;
@BeforeClass
public void init() {
c = new Calc();
}
@Test(groups = "t1")
public void addTest() {
System.out.println("Testing add() method");
Assert.assertEquals(c.add(10, 5), 15);
}
@Test
public void divTest() {
System.out.println("Testing div() method");
Assert.assertEquals(c.div(10, 5), 2, 0);
}
@AfterClass
public void free() {
c = null;
}
}
我有一个testing.xml 文件来套件测试:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="first tests">
<test name="first test">
<groups>
<run>
<include name="t1" />
</run>
</groups>
<classes>
<class name="CalcTest" />
</classes>
</test>
</suite>
我刚刚第一次查看了 testng 中的组,所以我想尝试一下,但是如果我运行testing.xml 文件,我会在以下行收到 nullPointerException:
Assert.assertEquals(c.add(10, 5), 15);
-如果我从测试方法中删除“groups”注释,它就可以正常工作,谢谢
最佳答案
您需要将 @BeforeClass 注释保留在组中。将 (groups = "t1") 添加到您的课前注释中。
关于java - testng "groups"测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23567410/