@Test public void beforeMethodWithParameters() { XmlSuite suite = createXmlSuite("beforeMethodWithParameters"); XmlTest test = createXmlTest(suite, "Before with parameter sample", BeforeWithParameterSample.class); test.addParameter("parameter", "parameter value"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.run(); assertThat(listener.getFailedMethodNames()).isEmpty(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getSucceedMethodNames()).containsExactly( "beforeMethod(parameter value)", "testExample(abc,def)" ); }
@Test public void enumParameters() { XmlSuite suite = createXmlSuite("enumParameters"); XmlTest test = createXmlTest(suite, "Enum parameter sample", EnumParameterSample.class); test.addParameter("parameter", "VALUE_1"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.run(); assertThat(listener.getFailedMethodNames()).isEmpty(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getSucceedMethodNames()).containsExactly("testMethod(VALUE_1)"); }
@Test public void stringSingle() { XmlSuite suite = createXmlSuite("stringSingle"); XmlTest test = createXmlTest(suite, "Before with parameter sample", ParameterSample.class); test.addParameter("first-name", "Cedric"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.run(); assertThat(listener.getFailedMethodNames()).isEmpty(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getSucceedMethodNames()).containsExactly( "beforeTest(Cedric)", "testNonExistentParameter(null)", "beforeTest(Cedric)", "testSingleString(Cedric)" ); }
@Test public void testMethod() { XmlTest xmlTest = createXmlTest("1745_suite", "1745_test", SuiteXmlPoweredFactoryTest.class); xmlTest.addParameter("number", "3"); TestNG testng = create(); testng.setXmlSuites(Collections.singletonList(xmlTest.getSuite())); InvokedMethodNameListener listener = new InvokedMethodNameListener(); testng.addListener(listener); testng.run(); assertThat(listener.getSucceedMethodNames()) .containsExactly(TEST_METHOD, TEST_METHOD, TEST_METHOD, TEST_METHOD); } }
@Test(description = "GITHUB-1105: Test skipped instead failed if incorrect enum value") public void invalidEnumParameters() { XmlSuite suite = createXmlSuite("enumParameters"); XmlTest test = createXmlTest(suite, "Enum parameter sample", EnumParameterSample.class); test.addParameter("parameter", "INVALID_VALUE"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener(listener); tng.run(); assertThat(listener.getSucceedMethodNames()).isEmpty(); assertThat(listener.getSkippedMethodNames()).isEmpty(); assertThat(listener.getFailedBeforeInvocationMethodNames()).containsExactly("testMethod"); Throwable exception = listener.getResult("testMethod").getThrowable(); assertThat(exception).isInstanceOf(TestNGException.class).hasCauseInstanceOf(IllegalArgumentException.class); }
@Test public void failedFile() throws ParserConfigurationException, SAXException, IOException { XmlSuite xmlSuite = createXmlSuite("Suite"); xmlSuite.getParameters().put("n", "42"); XmlTest xmlTest = createXmlTest(xmlSuite, "Test"); xmlTest.addParameter("o", "43"); XmlClass xmlClass = createXmlClass(xmlTest, SimpleFailedSample.class); xmlClass.getLocalParameters().put("p", "44"); TestNG tng = create(xmlSuite); Path temp = Files.createTempDirectory("tmp"); tng.setOutputDirectory(temp.toAbsolutePath().toString()); tng.addListener((ITestNGListener) new FailedReporter()); tng.run(); Collection<XmlSuite> failedSuites = new Parser(temp.resolve(FailedReporter.TESTNG_FAILED_XML).toAbsolutePath().toString()).parse(); XmlSuite failedSuite = failedSuites.iterator().next(); Assert.assertEquals("42", failedSuite.getParameter("n")); XmlTest failedTest = failedSuite.getTests().get(0); Assert.assertEquals("43", failedTest.getParameter("o")); XmlClass failedClass = failedTest.getClasses().get(0); Assert.assertEquals("44", failedClass.getAllParameters().get("p")); } }
test.setName("TmpTest"); test.addParameter("testParam1", "clock"); test.setXmlClasses(Arrays.asList(testClass)) ;
@BeforeTest(groups = {"beforeStartup"}) public void beforeStartup(XmlTest xmlTest) throws Exception { String uid = Long.toHexString(System.currentTimeMillis()); webappDir = new File(System.getProperty("java.io.tmpdir"), uid); webinfDir = new File(webappDir, "WEB-INF"); classesDir = new File(webinfDir, "classes"); pagesDir = new File(classesDir, PACKAGE.replace('.', '/')); pagesDir.mkdirs(); copy("web.xml", webinfDir, "web.xml"); copy("Index.1.tml", webappDir, "Index.tml"); copy("Index.1.properties", pagesDir, "Index.properties"); helper = new ClassCreationHelper(classesDir.getAbsolutePath()); createIndexClass(100); // overwrite the web-app-folder parameter xmlTest.addParameter(TapestryTestConstants.WEB_APP_FOLDER_PARAMETER, webappDir.getAbsolutePath()); }