0
프로그래밍 방식으로 TestNG 테스트를 실행하고 있습니다. 여러 개의 스위트를 삽입하고 실행합니다. 그러나 다음을 실행하면 testng-results.xml에 각 제품군의 모든 결과가 포함되지는 않습니다. 나는 마지막 스위트의 결과 만 얻는다. 전에도 같은 문제에 직면 한 사람이 있습니까?여러 스위트가 실행될 때 XML 결과가 무시됩니다.
TestNG tng = new TestNG();
List<XmlSuite> suites = new ArrayList<>();
for (Deployment deployment : deploymentList) {
tcList = tlsite.getTestCaseClassList();
XmlSuite suite = new XmlSuite();
suite.setName(deployment.getName());
XmlTest test = new XmlTest(suite);
test.setName("AutomationTests");
List<XmlClass> classes = new ArrayList<>();
for (Object className : tcList){
try {
classes.add(new XmlClass((String) className));
} catch (TestNGException e){
log.error("Error occurred while adding the class : " +e.toString());
}
}
test.setXmlClasses(classes) ;
suites.add(suite);
}
tng.setXmlSuites(suites);
tng.setOutputDirectory("my-out");
tng.run();
업데이트 : 다음과 같이 실행하면 작동합니다. 하지만 동적으로 스위트를 생성하고 싶습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
TestNG testng = new TestNG();
List<String> suites = new ArrayList<>();
suites.add("../src/test/resources/testng.xml");
testng.setTestSuites(suites);
testng.run();
testng.xml
난 당신이 기대하는대로 작동 예제를 제공 한<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="suite of suites">
<suite-files>
<suite-file path="testng_pattern1.xml" />
<suite-file path="testng_pattern2.xml" />
</suite-files>
</suite>
결과를 하나의 파일로 원합니다. – ycr
단일 파일 또는 단일 보고서를 의미합니까? – RocketRaccoon
모든 결과가 하나의 testng-result.xml에 필요합니다. 두 번째 방법을 사용할 때 언급 한대로 예상대로 작동합니다. – ycr