mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
test discovery: use JVM names for inner classes otherwise they are not found on runtime
This commit is contained in:
+10
@@ -28,6 +28,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigurationProducerBase<JavaTestConfigurationWithDiscoverySupport> {
|
||||
protected TestDiscoveryConfigurationProducer(ConfigurationType type) {
|
||||
@@ -190,6 +191,15 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
|
||||
return position != null && position.equals(getPosition(configuration));
|
||||
}
|
||||
|
||||
protected static LinkedHashSet<String> collectMethodPatterns(@NotNull Location<PsiMethod>[] testMethods) {
|
||||
return Arrays.stream(testMethods)
|
||||
.map(method -> {
|
||||
Iterator<Location<PsiClass>> ancestors = method.getAncestors(PsiClass.class, true);
|
||||
return JavaExecutionUtil.getRuntimeQualifiedName(ancestors.next().getPsiElement()) + "," + method.getPsiElement().getName();
|
||||
})
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
}
|
||||
|
||||
private class MyRunProfile implements WrappingRunConfiguration<RunConfiguration>, RunConfiguration, ConfigurationWithCommandLineShortener, RunProfileWithCompileBeforeLaunchOption {
|
||||
private final Location<PsiMethod>[] myTestMethods;
|
||||
private final Module myModule;
|
||||
|
||||
+1
-8
@@ -15,7 +15,6 @@ import com.intellij.execution.testDiscovery.TestDiscoveryConfigurationProducer;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.rt.execution.junit.JUnitStarter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -54,13 +53,7 @@ public class JUnitTestDiscoveryConfigurationProducer extends TestDiscoveryConfig
|
||||
RunConfiguration configuration,
|
||||
ExecutionEnvironment environment) {
|
||||
JUnitConfiguration.Data data = ((JUnitConfiguration)configuration).getPersistentData();
|
||||
data.setPatterns(
|
||||
Arrays.stream(testMethods)
|
||||
.map(method -> {
|
||||
Iterator<Location<PsiClass>> ancestors = method.getAncestors(PsiClass.class, true);
|
||||
return ancestors.next().getPsiElement().getQualifiedName() + "," + method.getPsiElement().getName();
|
||||
})
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new)));
|
||||
data.setPatterns(collectMethodPatterns(testMethods));
|
||||
data.TEST_OBJECT = JUnitConfiguration.TEST_PATTERN;
|
||||
Map<Module, Module> toRoot = splitModulesIntoChunks(testMethods, module);
|
||||
return new TestsPattern((JUnitConfiguration)configuration, environment) {
|
||||
|
||||
+1
-12
@@ -10,7 +10,6 @@ import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testDiscovery.TestDiscoveryConfigurationProducer;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.theoryinpractice.testng.configuration.TestNGConfiguration;
|
||||
import com.theoryinpractice.testng.configuration.TestNGConfigurationType;
|
||||
@@ -20,11 +19,6 @@ import com.theoryinpractice.testng.model.TestType;
|
||||
import com.theoryinpractice.testng.util.TestNGUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class TestNGTestDiscoveryConfigurationProducer extends TestDiscoveryConfigurationProducer {
|
||||
protected TestNGTestDiscoveryConfigurationProducer() {
|
||||
super(TestNGConfigurationType.getInstance());
|
||||
@@ -57,12 +51,7 @@ public class TestNGTestDiscoveryConfigurationProducer extends TestDiscoveryConfi
|
||||
RunConfiguration configuration,
|
||||
ExecutionEnvironment environment) {
|
||||
TestData data = ((TestNGConfiguration)configuration).getPersistantData();
|
||||
data.setPatterns(Arrays.stream(testMethods)
|
||||
.map(method -> {
|
||||
Iterator<Location<PsiClass>> ancestors = method.getAncestors(PsiClass.class, true);
|
||||
return ancestors.next().getPsiElement().getQualifiedName() + "," + method.getPsiElement().getName();
|
||||
})
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new)));
|
||||
data.setPatterns(collectMethodPatterns(testMethods));
|
||||
data.TEST_OBJECT = TestType.PATTERN.type;
|
||||
return new TestNGRunnableState(environment, (TestNGConfiguration)configuration);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user