package test.parameters; import java.io.ByteArrayInputStream; import org.testng.TestNG; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Optional; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import org.testng.xml.Parser; /** * This class * * @author Cedric Beust, Jul 22, 2004 * */ public class ParameterSample { @Parameters({ "first-name" }) @BeforeMethod public void beforeTest(String firstName) { // System.out.println("[ParameterSample] Invoked beforeTestMethod with: " + firstName); assert "Cedric".equals(firstName) : "Expected Cedric, got " + firstName; } @Parameters({ "first-name" }) @Test(groups = { "singleString"}) public void testSingleString(String firstName) { // System.out.println("[ParameterSample] Invoked testString " + firstName); assert "Cedric".equals(firstName); } @Parameters({"this parameter doesn't exist"}) @Test public void testNonExistentParameter(@Optional String foo) { } public static void main(String[] args) throws Exception { TestNG tng = new TestNG(); String xml = "<suite name=\"dgf\" verbose=\"10\"><parameter name=\"first-name\" value=\"Cedric\" /><test name=\"dgf\"><classes><class name=\"test.parameters.ParameterSample\"></class></classes></test></suite>"; System.out.println(xml); ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes()); tng.setXmlSuites(new Parser(is).parseToList()); tng.run(); } }