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.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...