package test;
|
|
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertTrue;
|
|
import org.testng.Assert;
|
import org.testng.ITestContext;
|
import org.testng.ITestResult;
|
import org.testng.TestListenerAdapter;
|
import org.testng.TestNG;
|
import org.testng.annotations.Test;
|
|
import test.sample.JUnitSample1;
|
import testhelper.OutputDirectoryPatch;
|
|
import java.util.List;
|
|
public class CommandLineTest {
|
|
/**
|
* Test -junit
|
*/
|
@Test(groups = { "current" } )
|
public void junitParsing() {
|
String[] argv = {
|
"-log", "0",
|
"-d", OutputDirectoryPatch.getOutputDirectory(),
|
"-junit",
|
"-testclass", "test.sample.JUnitSample1"
|
};
|
TestListenerAdapter tla = new TestListenerAdapter();
|
TestNG.privateMain(argv, tla);
|
|
List<ITestResult> passed = tla.getPassedTests();
|
assertEquals(passed.size(), 2);
|
String test1 = passed.get(0).getMethod().getMethodName();
|
String test2 = passed.get(1).getMethod().getMethodName();
|
|
assertTrue(JUnitSample1.EXPECTED1.equals(test1) && JUnitSample1.EXPECTED2.equals(test2) ||
|
JUnitSample1.EXPECTED1.equals(test2) && JUnitSample1.EXPECTED2.equals(test1));
|
}
|
|
/**
|
* Test the absence of -junit
|
*/
|
@Test(groups = { "current" } )
|
public void junitParsing2() {
|
String[] argv = {
|
"-log", "0",
|
"-d", OutputDirectoryPatch.getOutputDirectory(),
|
"-testclass", "test.sample.JUnitSample1"
|
};
|
TestListenerAdapter tla = new TestListenerAdapter();
|
TestNG.privateMain(argv, tla);
|
|
List<ITestResult> passed = tla.getPassedTests();
|
assertEquals(passed.size(), 0);
|
}
|
|
/**
|
* Test the ability to override the default command line Suite name
|
*/
|
@Test(groups = { "current" } )
|
public void suiteNameOverride() {
|
String suiteName="MySuiteName";
|
String[] argv = {
|
"-log", "0",
|
"-d", OutputDirectoryPatch.getOutputDirectory(),
|
"-junit",
|
"-testclass", "test.sample.JUnitSample1",
|
"-suitename", "\""+suiteName+"\""
|
};
|
TestListenerAdapter tla = new TestListenerAdapter();
|
TestNG.privateMain(argv, tla);
|
|
List<ITestContext> contexts = tla.getTestContexts();
|
assertTrue(contexts.size()>0);
|
for (ITestContext context:contexts) {
|
assertEquals(context.getSuite().getName(),suiteName);
|
}
|
}
|
|
/**
|
* Test the ability to override the default command line test name
|
*/
|
@Test(groups = { "current" } )
|
public void testNameOverride() {
|
String testName="My Test Name";
|
String[] argv = {
|
"-log", "0",
|
"-d", OutputDirectoryPatch.getOutputDirectory(),
|
"-junit",
|
"-testclass", "test.sample.JUnitSample1",
|
"-testname", "\""+testName+"\""
|
};
|
TestListenerAdapter tla = new TestListenerAdapter();
|
TestNG.privateMain(argv, tla);
|
|
List<ITestContext> contexts = tla.getTestContexts();
|
assertTrue(contexts.size()>0);
|
for (ITestContext context:contexts) {
|
assertEquals(context.getName(),testName);
|
}
|
}
|
|
@Test
|
public void testUseDefaultListenersArgument() {
|
TestNG.privateMain(new String[] {
|
"-log", "0", "-usedefaultlisteners", "false", "-testclass", "test.sample.JUnitSample1"
|
}, null);
|
}
|
|
@Test
|
public void testMethodParameter() {
|
String[] argv = {
|
"-log", "0",
|
"-d", OutputDirectoryPatch.getOutputDirectory(),
|
"-methods", "test.sample.Sample2.method1,test.sample.Sample2.method3",
|
};
|
TestListenerAdapter tla = new TestListenerAdapter();
|
TestNG.privateMain(argv, tla);
|
|
List<ITestResult> passed = tla.getPassedTests();
|
Assert.assertEquals(passed.size(), 2);
|
Assert.assertTrue((passed.get(0).getName().equals("method1") &&
|
passed.get(1).getName().equals("method3"))
|
||
|
(passed.get(1).getName().equals("method1") &&
|
passed.get(0).getName().equals("method3")));
|
}
|
|
private static void ppp(String s) {
|
System.out.println("[CommandLineTest] " + s);
|
}
|
|
}
|