我知道通过创建测试套件,我可以运行我的所有类文件,使用类似的代码
suite.addTestSuite( TestCase3.class);
suite.addTestSuite( TestCase2.class);
suite.addTestSuite( TestCase1.class);
但是如果我不想运行类文件中的所有方法怎么办?我只想在测试类中运行特定的测试方法,该怎么做?
以下链接可能对您有用
如果你想修改跨类的执行,我强烈推荐TestNG!
它有据可查,并为定制的测试执行提供了大量有用且易于使用的功能。
根据您的要求,TestNG Groups 将完成这项工作。
import org.testng.annotations.Test;
@Test(groups = {"groupA"})
public class ATest{
@Test(groups = {"group1"})
public void testA1() {
}
@Test(groups = {"group2"})
public void testA2() {
}
}
&
import org.testng.annotations.Test;
@Test(groups = {"groupB"})
public class BTest{
@Test(groups = {"group1"})
public void testB1() {
}
@Test(groups = {"group2"})
public void testB2() {
}
}
我想你已经知道如果你启动“group1”方法会运行哪些方法,对吧?
您将需要进一步构建您的套件。就像是 :
XmlSuite suite = new XmlSuite();
XmlTest test = new XmlTest(suite);
test.setName("TmpTest1");
test.setVerbose(3);
List<XmlClass> classes = new ArrayList<XmlClass>();
XmlClass cl = new XmlClass();
cl.setName("my.pkg.Tests");
XmlInclude incMet = new XmlInclude("testSimpleTrue");
List<XmlInclude> incMetList = new ArrayList<XmlInclude>();
incMetList.add(incMet);
cl.setIncludedMethods(incMetList);
classes.add(cl);
test.setXmlClasses(classes);
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
testng.setXmlSuites(suites);