junit: compact hide suites hierarchy as it won't be available in testStarted/Finished

This commit is contained in:
Anna Kozlova
2015-05-05 15:21:38 +02:00
parent 5bb6959b49
commit e21e210eab
2 changed files with 27 additions and 1 deletions
@@ -63,6 +63,29 @@ public class JUnitTreeByDescriptionHierarchyTest {
"##teamcity[suiteTreeEnded name='TestB']\n");
}
@Test
public void test2SuitesWithTheSameTest() throws Exception {
final Description root = Description.createSuiteDescription("root");
final String className = "ATest";
final String methodName = "test1";
for( String suiteName : new String[] {"ASuite1", "ASuite2"}) {
final Description aSuite = Description.createSuiteDescription(suiteName);
root.addChild(aSuite);
final Description aTest = Description.createSuiteDescription(className);
aSuite.addChild(aTest);
aTest.addChild(Description.createTestDescription(className, methodName));
}
final Description description = Description.createSuiteDescription(className);
root.addChild(description);
description.addChild(Description.createTestDescription(className, methodName));
doTest(root, "##teamcity[suiteTreeStarted name='ATest' locationHint='java:suite://ATest']\n" +
"##teamcity[suiteTreeNode name='test1' locationHint='java:test://ATest.test1']\n" +
"##teamcity[suiteTreeNode name='test1' locationHint='java:test://ATest.test1']\n" +
"##teamcity[suiteTreeNode name='test1' locationHint='java:test://ATest.test1']\n" +
"##teamcity[suiteTreeEnded name='ATest']\n");
}
@Test
public void testSingleMethod() throws Exception {
final Description rootDescription = Description.createTestDescription("TestA", "testName");
@@ -255,11 +255,14 @@ public class SMTestSender extends RunListener {
private static void groupTests(Object description, Map found) {
if (!isParameter((Description)description)) {
final ArrayList childTests = ((Description)description).getChildren();
ArrayList childTests = ((Description)description).getChildren();
List children = (List)found.get(description);
if (children == null) {
children = new ArrayList();
found.put(description, children);
} else {
childTests = new ArrayList(childTests);
childTests.removeAll(children);
}
children.addAll(childTests);
for (Iterator iterator = childTests.iterator(); iterator.hasNext(); ) {