mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 15:27:45 +07:00
junit/testng configuration providers based on test framework; minimize junit-vs-testng duplication
This commit is contained in:
+7
@@ -0,0 +1,7 @@
|
||||
package abstractTests;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public abstract class AbstractTest extends TestCase {
|
||||
public void test1() throws Exception {}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package abstractTests;
|
||||
|
||||
public class AbstractTestImpl1 extends AbstractTest {
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package abstractTests;
|
||||
|
||||
public class AbstractTestImpl2 extends AbstractTest {
|
||||
}
|
||||
@@ -20,7 +20,7 @@ import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.actions.RunConfigurationProducer;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.junit.JUnitConfiguration;
|
||||
import com.intellij.execution.junit.JUnitConfigurationProducer;
|
||||
import com.intellij.execution.testframework.AbstractJavaTestConfigurationProducer;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
@@ -151,7 +151,7 @@ public abstract class BaseConfigurationTestCase extends IdeaTestCase {
|
||||
}
|
||||
|
||||
protected JUnitConfiguration createJUnitConfiguration(@NotNull PsiElement psiElement,
|
||||
@NotNull Class<? extends JUnitConfigurationProducer> producerClass,
|
||||
@NotNull Class<? extends AbstractJavaTestConfigurationProducer> producerClass,
|
||||
@NotNull MapDataContext dataContext) {
|
||||
ConfigurationContext context = createContext(psiElement, dataContext);
|
||||
RunConfigurationProducer producer = RunConfigurationProducer.getInstance(producerClass);
|
||||
|
||||
@@ -21,8 +21,8 @@ import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl;
|
||||
import com.intellij.execution.junit.AllInPackageConfigurationProducer;
|
||||
import com.intellij.execution.junit.JUnitConfiguration;
|
||||
import com.intellij.execution.junit.JUnitConfigurationProducer;
|
||||
import com.intellij.execution.junit.JUnitConfigurationType;
|
||||
import com.intellij.execution.testframework.AbstractJavaTestConfigurationProducer;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.PackageWrapper;
|
||||
@@ -244,7 +244,7 @@ public class ConfigurationRefactoringsTest extends BaseConfigurationTestCase {
|
||||
|
||||
@Override
|
||||
protected JUnitConfiguration createJUnitConfiguration(@NotNull PsiElement psiElement,
|
||||
@NotNull Class<? extends JUnitConfigurationProducer> producerClass,
|
||||
@NotNull Class<? extends AbstractJavaTestConfigurationProducer> producerClass,
|
||||
@NotNull MapDataContext dataContext) {
|
||||
final JUnitConfiguration configuration = super.createJUnitConfiguration(psiElement, producerClass, dataContext);
|
||||
RunManagerEx.getInstanceEx(myProject).setTemporaryConfiguration(new RunnerAndConfigurationSettingsImpl(null, configuration, false));
|
||||
|
||||
@@ -97,7 +97,7 @@ public class ConfigurationsTest extends BaseConfigurationTestCase {
|
||||
Assertion.compareUnordered(new Module[]{module1, module2}, configuration.getValidModules());
|
||||
|
||||
PsiClass innerTest = findClass(module1, INNER_TEST_NAME);
|
||||
configuration = createJUnitConfiguration(innerTest, TestClassConfigurationProducer.class, new MapDataContext());
|
||||
configuration = createJUnitConfiguration(innerTest, TestInClassConfigurationProducer.class, new MapDataContext());
|
||||
checkClassName(RT_INNER_TEST_NAME, configuration);
|
||||
checkCanRun(configuration);
|
||||
|
||||
@@ -289,7 +289,7 @@ public class ConfigurationsTest extends BaseConfigurationTestCase {
|
||||
checkContains(classPath, output);
|
||||
|
||||
JUnitConfiguration junitConfiguration =
|
||||
createJUnitConfiguration(findClass(module4, "TestApplication"), TestClassConfigurationProducer.class, new MapDataContext());
|
||||
createJUnitConfiguration(findClass(module4, "TestApplication"), TestInClassConfigurationProducer.class, new MapDataContext());
|
||||
parameters = checkCanRun(junitConfiguration);
|
||||
classPath = parameters.getClassPath().getPathsString();
|
||||
checkContains(classPath, testOuput);
|
||||
|
||||
+18
-3
@@ -10,6 +10,7 @@ import com.intellij.openapi.actionSystem.DataConstants;
|
||||
import com.intellij.openapi.actionSystem.ex.DataConstantsEx;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiPackage;
|
||||
@@ -32,10 +33,24 @@ public class ContextConfigurationTest extends BaseConfigurationTestCase {
|
||||
addModule("commonConfiguration");
|
||||
}
|
||||
|
||||
public void testAbstractJUnit3TestCase() throws Exception {
|
||||
String packageName = "abstractTests";
|
||||
String shortName = "AbstractTest";
|
||||
String qualifiedName = StringUtil.getQualifiedName(packageName, shortName);
|
||||
PsiClass psiClass = findClass(getModule1(), qualifiedName);
|
||||
PsiMethod testMethod = psiClass.findMethodsByName(METHOD_NAME, false)[0];
|
||||
JUnitConfiguration configuration = createConfiguration(testMethod);
|
||||
|
||||
checkClassName(qualifiedName, configuration);
|
||||
checkMethodName(METHOD_NAME, configuration);
|
||||
checkPackage(packageName, configuration);
|
||||
checkGeneretedName(configuration, shortName + "." + METHOD_NAME);
|
||||
}
|
||||
|
||||
public void testJUnitMethodTest() {
|
||||
PsiClass psiClass = findClass(getModule1(), CLASS_NAME);
|
||||
PsiMethod testMethod = psiClass.findMethodsByName(METHOD_NAME, false)[0];
|
||||
JUnitConfiguration configuration = (JUnitConfiguration)createConfiguration(testMethod);
|
||||
JUnitConfiguration configuration = createConfiguration(testMethod);
|
||||
checkTestObject(JUnitConfiguration.TEST_METHOD, configuration);
|
||||
checkClassName(CLASS_NAME, configuration);
|
||||
checkMethodName(METHOD_NAME, configuration);
|
||||
@@ -46,7 +61,7 @@ public class ContextConfigurationTest extends BaseConfigurationTestCase {
|
||||
public void testJUnitClassTest() {
|
||||
PsiClass psiClass = findClass(getModule1(), CLASS_NAME);
|
||||
final MapDataContext dataContext = new MapDataContext();
|
||||
JUnitConfiguration configuration = createJUnitConfiguration(psiClass, TestClassConfigurationProducer.class, dataContext);
|
||||
JUnitConfiguration configuration = createJUnitConfiguration(psiClass, TestInClassConfigurationProducer.class, dataContext);
|
||||
checkTestObject(JUnitConfiguration.TEST_CLASS, configuration);
|
||||
checkClassName(CLASS_NAME, configuration);
|
||||
checkPackage(PACKAGE_NAME, configuration);
|
||||
@@ -64,7 +79,7 @@ public class ContextConfigurationTest extends BaseConfigurationTestCase {
|
||||
configuration.setModule(getModule2());
|
||||
MapDataContext dataContext = new MapDataContext();
|
||||
dataContext.put(DataConstantsEx.RUNTIME_CONFIGURATION, configuration);
|
||||
configuration = createJUnitConfiguration(psiClass, TestClassConfigurationProducer.class, dataContext);
|
||||
configuration = createJUnitConfiguration(psiClass, TestInClassConfigurationProducer.class, dataContext);
|
||||
checkClassName(psiClass.getQualifiedName(), configuration);
|
||||
assertEquals(Collections.singleton(getModule2()), new HashSet(Arrays.asList(configuration.getModules())));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user