testng: listen for configuration methods starts (IDEA-140020)

This commit is contained in:
Anna Kozlova
2015-07-06 20:08:46 +03:00
parent 7b71ca27c9
commit ba664a2321
3 changed files with 23 additions and 7 deletions
@@ -32,7 +32,6 @@ import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
public class TestNGTreeHierarchyTest {
@@ -210,11 +209,15 @@ public class TestNGTreeHierarchyTest {
final String className = "a.ATest";
listener.onSuiteStart(className, true);
for(String methodName : new String[] {"test1", "test2"}) {
listener.onConfigurationSuccess(new MockTestNGResult(className, "setUp"));
final MockTestNGResult setUp = new MockTestNGResult(className, "setUp");
listener.onConfigurationStart(setUp);
listener.onConfigurationSuccess(setUp);
final MockTestNGResult result = new MockTestNGResult(className, methodName);
listener.onTestStart(result);
listener.onTestFinished(result);
listener.onConfigurationSuccess(new MockTestNGResult(className, "tearDown"));
final MockTestNGResult tearDown = new MockTestNGResult(className, "tearDown");
listener.onConfigurationStart(tearDown);
listener.onConfigurationSuccess(tearDown);
}
listener.onSuiteFinish(className);
@@ -253,7 +256,9 @@ public class TestNGTreeHierarchyTest {
final IDEATestNGRemoteListener listener = createListener(buf);
final String className = "a.ATest";
listener.onSuiteStart(className, true);
listener.onConfigurationFailure(new MockTestNGResult(className, "setUp", createExceptionWithoutTrace(), ArrayUtil.EMPTY_OBJECT_ARRAY));
final MockTestNGResult setUp = new MockTestNGResult(className, "setUp", createExceptionWithoutTrace(), ArrayUtil.EMPTY_OBJECT_ARRAY);
listener.onConfigurationStart(setUp);
listener.onConfigurationFailure(setUp);
listener.onSuiteFinish(className);
Assert.assertEquals("output: " + buf, "\n" +
@@ -69,6 +69,7 @@ public class IDEARemoteTestNG extends TestNG {
final IDEATestNGRemoteListener listener = new IDEATestNGRemoteListener();
addListener((ISuiteListener)listener);
addListener((ITestListener)listener);
addListener((IInvokedMethodListener)listener);
super.run();
System.exit(0);
}
@@ -13,7 +13,7 @@ import java.util.*;
* User: anna
* Date: 5/22/13
*/
public class IDEATestNGRemoteListener implements ISuiteListener, IResultListener{
public class IDEATestNGRemoteListener implements ISuiteListener, IResultListener, IInvokedMethodListener {
private final PrintStream myPrintStream;
private final List<String> myCurrentSuites = new ArrayList<String>();
@@ -50,6 +50,14 @@ public class IDEATestNGRemoteListener implements ISuiteListener, IResultListener
myCurrentSuites.clear();
}
public synchronized void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
if (!testResult.getMethod().isTest()) {
onConfigurationStart(new DelegatedResult(testResult));
}
}
//should be covered by test listeners
public void afterInvocation(IInvokedMethod method, ITestResult testResult) {}
public synchronized void onConfigurationSuccess(ITestResult result) {
onConfigurationSuccess(new DelegatedResult(result));
}
@@ -101,13 +109,15 @@ public class IDEATestNGRemoteListener implements ISuiteListener, IResultListener
myInvocationCounts.put(qualifiedName, invocationCount + 1);
}
public void onConfigurationSuccess(ExposedTestResult result) {
public void onConfigurationStart(ExposedTestResult result) {
onTestStart(result, null, -1, true);
}
public void onConfigurationSuccess(ExposedTestResult result) {
onTestFinished(result);
}
public void onConfigurationFailure(ExposedTestResult result) {
onTestStart(result, null, -1, true);
onTestFailure(result);
}