diff --git a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5IdeaTestRunner.java b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5IdeaTestRunner.java index fde0c1043d20..1a6e7571ebc4 100644 --- a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5IdeaTestRunner.java +++ b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5IdeaTestRunner.java @@ -30,24 +30,26 @@ public class JUnit5IdeaTestRunner implements IdeaTestRunner { private TestPlan myTestPlan; private JUnit5TestExecutionListener myListener; private ArrayList myListeners; + private Launcher myLauncher; @Override public void createListeners(ArrayList listeners) { myListeners = listeners; myListener = new JUnit5TestExecutionListener(); + myLauncher = LauncherFactory.create(); + myLauncher.registerTestExecutionListeners(myListener); } @Override public int startRunnerWithArgs(String[] args, String name, int count, boolean sendTree) { try { - Launcher launcher = LauncherFactory.create(); - launcher.registerTestExecutionListeners(myListener); + myListener.initialize(); final String[] packageNameRef = new String[1]; final LauncherDiscoveryRequest discoveryRequest = JUnit5TestRunnerUtil.buildRequest(args, packageNameRef); - myTestPlan = launcher.discover(discoveryRequest); + myTestPlan = myLauncher.discover(discoveryRequest); for (Object listenerClassName : myListeners) { final IDEAJUnitListener junitListener = (IDEAJUnitListener)Class.forName((String)listenerClassName).newInstance(); - launcher.registerTestExecutionListeners(new MyCustomListenerWrapper(junitListener)); + myLauncher.registerTestExecutionListeners(new MyCustomListenerWrapper(junitListener)); } if (sendTree) { do { @@ -56,7 +58,7 @@ public class JUnit5IdeaTestRunner implements IdeaTestRunner { while (--count > 0); } - launcher.execute(discoveryRequest); + myLauncher.execute(discoveryRequest); return myListener.wasSuccessful() ? 0 : -1; } diff --git a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java index 244fbc48b32b..ee9f6de00ed1 100644 --- a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java +++ b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java @@ -41,10 +41,10 @@ public class JUnit5TestExecutionListener implements TestExecutionListener { private final PrintStream myPrintStream; private TestPlan myTestPlan; private long myCurrentTestStart; - private int myFinishCount = 0; + private int myFinishCount; private String myRootName; private Set myRoots; - private boolean mySuccessful = true; + private boolean mySuccessful; public JUnit5TestExecutionListener() { this(System.out); @@ -59,6 +59,11 @@ public class JUnit5TestExecutionListener implements TestExecutionListener { return mySuccessful; } + public void initialize() { + mySuccessful = true; + myFinishCount = 0; + } + @Override public void reportingEntryPublished(TestIdentifier testIdentifier, ReportEntry entry) { StringBuilder builder = new StringBuilder();