package test.groupbug;
import org.testng.ITestNGListener;
import org.testng.TestNG;
import org.testng.annotations.Test;
import org.testng.xml.XmlSuite;
import test.InvokedMethodNameListener;
import test.SimpleBaseTest;
import static org.assertj.core.api.Assertions.assertThat;
public class GroupBugTest extends SimpleBaseTest {
@Test(description = "Comment out dependsOnGroups in ITCaseOne will fix the ordering, that's the bug")
public void shouldOrderByClass() {
TestNG tng = create(ITCaseOne.class, ITCaseTwo.class);
tng.setVerbose(10);
tng.setGroupByInstances(true);
InvokedMethodNameListener listener = new InvokedMethodNameListener();
tng.addListener((ITestNGListener) listener);
tng.run();
assertThat(listener.getInvokedMethodNames()).containsExactly(
"beforeClassOne", "one1", "one2", "afterClassOne",
"beforeClassTwo", "two1", "two2", "afterClassTwo"
);
}
}