내 POM.xml의 모습입니다.Maven 사용, TestNG - TestNG에서 특정 그룹을 실행하는 방법. 내가하는 일이 가능하다면 궁금해하니?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.github.akiraly.reusable-poms</groupId>
<artifactId>pom-parent-with-spring-context</artifactId>
<version>4</version>
</parent>
<groupId>MvnTestFramework</groupId>
<artifactId>MvnTestFrameworkProject</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.6</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<forkMode>always</forkMode>
<systemProperties>
<property>
<name>reporter.debug</name>
<value>false</value>
</property>
</systemProperties>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<reportsDirectory>reports</reportsDirectory>
<parallel>methods</parallel>
<threadCount>5</threadCount>
<skipTests>false</skipTests>
<suitename>${testng.suitename}</suitename>
<groups>${testng.groups}</groups>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>utf8</encoding>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
이 내 testng.xml 같은 모습입니다 :
는 내가 원하는 것은<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="testgroups" verbose="1" parallel="tests" group-by-instances="true" preserve-order="false" thread-count="5">
<test name="testgroups" preserve-order="true" group-by-instances="true">
<groups>
<run>
<include name="group1" />
<include name="group2" />
<include name="group3" />
</run>
</groups>
<packages>
<package name="testpackage.*" />
</packages>
</test>
</suite>
: 테스트의 특정 그룹을 실행합니다. 의미는 group1 또는 group2 또는 group3 중 하나이지만 동시에 모두 함께 실행되지는 않습니다. 같은 이유로, 특정 그룹을 실행하기 위해 {testng.groups}을 (를) 제공했습니다. testng.xml을 실행할 때 JVM 인수에서 다음을 지정합니다. -Dtestng.groups = group2 group2 테스트 만 실행합니다. 그러나 group1, group2 및 group3에서 모든 테스트를 실행합니다.
문제가 올바르게 발생합니까? 특정 그룹 실행 집합 만 확인하려면 어떻게합니까? 도움을 주셔서 감사합니다.
@javaXengine 효과가 있다면 제 대답을 수락 하시겠습니까? –
여러 그룹에서 같은 것을 사용할 수 있는지 궁금합니다. 나는 이것을 시도했다. -DgroupToRun = group1, group2; 그러나 이것은 오류를 던집니다. 나는 그 일을 할 수있는 방법이 있어야한다고 확신합니다. – javaXengine
그런 경우 먼저 groupToRun 값을 구문 분석 (예 : 쉼표를 기준으로 분할)하고 분할 값을 목록으로 가져 와서 해당 목록을 반복 한 다음 검사를 실행해야합니다. 그것은 아주 많이해야합니다. –