package test.parameters; import org.testng.ITestNGListener; import org.testng.TestNG; import org.testng.annotations.Test; import org.testng.xml.XmlClass; import org.testng.xml.XmlInclude; import org.testng.xml.XmlSuite; import org.testng.xml.XmlTest; import test.InvokedMethodNameListener; import test.SimpleBaseTest; import static org.assertj.core.api.Assertions.assertThat; public class ShadowTest extends SimpleBaseTest { @Test public void parametersShouldNotBeShadowed() { XmlSuite suite = createXmlSuite("suite"); XmlTest test = createXmlTest(suite, "test"); XmlClass class1 = createXmlClass(test, Shadow1Sample.class); class1.getLocalParameters().put("a", "First"); XmlInclude include1 = createXmlInclude(class1, "test1"); XmlClass class2 = createXmlClass(test, Shadow2Sample.class); class2.getLocalParameters().put("a", "Second"); XmlInclude include2 = createXmlInclude(class2, "test2"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener((ITestNGListener) listener); tng.run(); assertThat(listener.getSucceedMethodNames()).containsExactly("test1(First)", "test2(Second)"); } }