2011년 6월 13일 월요일

“Testing, the Next Generation” TestNG - 6

Dependent Methods
test Method을 수행하기 위해 사전에 미리 수행되어 있어야 하는 메서드를 Dependent Method라고 한다. testGroupHard 메서드는 Dependent가 “int” Group명으로 되어있다. 하지만 “int” 라는 Group명은 없으므로 에러가 발생하여 수행하지 못하고 Skip된다. 반면 testGroupSoft 메서드는 “alwaysRun=true”옵션으로 에러가 발생하더라도 Skip 되지 않고 수행된다. 전자를 “Hard Dependencies”, 후자를 “Soft Dependencies”라고 한다.

Test Code : TestNG.dependenciesTest
package TestNG;
import org.testng.annotations.Test;
public class dependenciesTest
{
@Test(groups={"init"})
public void systemInit() {
System.out.println("systemInit");
}
@Test(groups={"init"})
public void serverInit() {
System.out.println("serverInit");
}
@Test
public void dependMethod() {
System.out.println("dependMethod");
}
@Test(dependsOnMethods = {"dependMethod"})
public void testMethod() {
System.out.println("testMethod");
}
@Test(dependsOnGroups = {"int"}, alwaysRun=true)
public void testGroupSoft() {
System.out.println("testGroup");
}
@Test(dependsOnGroups = {"int"})
public void testGroupHard() {
System.out.println("testGroup");
}
@Test(dependsOnGroups = {"init"})
public void testGroup() {
System.out.println("testGroup");
}
}


Test Suit : dependencies.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestNG.dependenciesTest">
<test verbose="2" name="TestNG.dependenciesTest" annotations="1.5">
<classes>
<class name="TestNG.dependenciesTest"/>
</classes>
</test>
</suite>


TestNG 실행 옵션
Command Line sample
java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]


Ant sample
<testng classpathref="run.cp"
outputDir="${testng.report.dir}"
sourcedir="${test.src.dir}"
haltOnfailure="true">
<xmlfileset dir="${test14.dir}" includes="testng.xml"/>
</testng>


command line option
-dThe directory where the reports will be generated (defaults to test-output)
-sourcedirThe directory where your JDK 1.4 test sources are. This option is only necessary if you are using the JDK 1.4 version of TestNG.
-testclassA list of class files separated by commas (e.g. "org.foo.Test1,org.foo.test2").
-groupsThe list of groups you want to run (e.g. "windows,linux,regression").
-excludegroupsThe list of groups you want to be excluded from this run.
-testrunfactoryA comma-separated list of Java classes that can be found on your classpath. Lets you specify your own test runners. The classes need to implement org.testng.ITestRunnerFactory.
-listenerA comma-separated list of Java classes that can be found on your classpath. Lets you specify your own test listeners. The classes need to implement org.testng.ITestListener.

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...