mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
junit 5: prepare engines to avoid reloading on test repeated (IDEA-162566)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<TestIdentifier> 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();
|
||||
|
||||
Reference in New Issue
Block a user