testng
TestNG 그룹
수색…
통사론
- @Test (groups = { "group1", "group.regression"}, dependsOnGroups = { "group2", "group3"})
TestNG 그룹 구성 및 기본 예제
그룹은 testng.xml
Suite
및 / 또는 Test
요소에서 구성 할 수 있습니다. tesng.xml
포함 된 것으로 표시된 모든 그룹은 실행을 위해 고려되며, 제외 된 그룹은 무시됩니다. @Test
메서드에 여러 그룹이 있고 testng.xml
에서 단일 그룹이 제외 된 경우 해당 그룹에서 @Test
메서드가 실행되지 않습니다.
다음은 실행중인 그룹에 대한 Test
레벨의 일반적인 testng.xml
구성입니다.
<suite name="Suite World">
<test name="Test Name">
<groups>
<run>
<include name="functest" />
<exclude name="regtest" />
</run>
</groups>
<classes>
<class name="example.group.GroupTest"/>
</classes>
</test>
</suite>
그리고 이것이 테스트 클래스의 모습입니다 :
package example.group;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class GroupTest {
@BeforeClass
public void deSetup(){
//do configuration stuff here
}
@Test(groups = { "functest", "regtest" })
public void testMethod1() {
}
@Test(groups = {"functest", "regtest"} )
public void testMethod2() {
}
@Test(groups = { "functest" })
public void testMethod3() {
}
@AfterClass
public void cleanUp(){
//do resource release and cleanup stuff here
}
}
이
GroupTest
TestNG
클래스를 실행하면testMethod3()
만 실행됩니다.
설명:
-
<include name="functest" />
functest
그룹의 모든 테스트 메소드가 다른 그룹에 의해 제외되지 않으면 실행에 적합합니다. -
<exclude name="regtest" />
regtest
그룹의 테스트 메소드가 실행에 적합하지 않습니다. -
testMethod1()
및testMethod2()
는regtest
그룹에 있으므로 실행되지 않습니다. -
testMethod3()
은regtest
그룹에 있으므로 실행됩니다.
TestNG 메타 그룹 - 그룹 그룹
TestNG는 다른 그룹을 포함 할 수있는 그룹을 정의 할 수 있습니다. 메타 그룹은 하나 이상의 그룹을 논리적으로 결합하고 해당 그룹에 속한 @Test
메소드의 실행을 제어합니다.
아래의 예제에는 다양한 그룹에 속하는 다양한 @Test
메소드가 있습니다. 특정 스택에만 국한되고 회귀 및 수용 테스트는 거의 없습니다. 여기에서 메타 그룹을 만들 수 있습니다. 두 개의 간단한 MetaGroup을 선택해 봅시다 .
-
allstack
-liux.jboss.oracle
및aix.was.db2
그룹을 모두 포함하며 해당 그룹 중 하나에 속한 모든 테스트 메소드를 함께 실행할 수 있습니다. -
systemtest
-allstack
,regression
및acceptance
그룹을 포함하며 해당 그룹 중 하나에 속한 모든 테스트 메소드를 함께 실행할 수 있습니다.
testng.xml 구성
<suite name="Groups of Groups">
<test name="MetaGroups Test">
<groups>
<!-- allstack group includes both liux.jboss.oracle and aix.was.db2 groups -->
<define name="allstack">
<include name="liux.jboss.oracle" />
<include name="aix.was.db2" />
</define>
<!-- systemtest group includes all groups allstack, regression and acceptance -->
<define name="systemtest">
<include name="allstack" />
<include name="regression" />
<include name="acceptance" />
</define>
<run>
<include name="systemtest" />
</run>
</groups>
<classes>
<class name="example.group.MetaGroupsTest" />
</classes>
</test>
</suite>
MetaGroupsTest 클래스
package example.group;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class MetaGroupsTest {
@BeforeMethod
public void beforeMethod(){
//before method stuffs - setup
}
@Test(groups = { "liux.jboss.oracle", "acceptance" })
public void testOnLinuxJbossOracleStack() {
//your test logic goes here
}
@Test(groups = {"aix.was.db2", "regression"} )
public void testOnAixWasDb2Stack() {
//your test logic goes here
}
@Test(groups = "acceptance")
public void testAcceptance() {
//your test logic goes here
}
@Test(groups = "regression")
public void testRegression(){
//your test logic goes here
}
@AfterMethod
public void afterMthod(){
//after method stuffs - cleanup
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow