Files
openide/plugins/junit5_rt_tests/test/com/intellij/junit4/JUnit4ParameterizedIntegrationTest.java
Anna Kozlova 3f2c871f7d [junit] support running custom parameterized tests (IDEA-261001, IDEA-184683)
GitOrigin-RevId: 456b5c81c6b512060d46c23aa8271bcdcf1fd4db
2021-06-21 19:35:41 +00:00

50 lines
2.2 KiB
Java

// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.junit4;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.junit.JUnitConfiguration;
import com.intellij.java.execution.AbstractTestFrameworkCompilingIntegrationTest;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiMethod;
import com.intellij.testFramework.PlatformTestUtil;
import org.jetbrains.jps.model.library.JpsMavenRepositoryLibraryDescriptor;
import java.util.Arrays;
public class JUnit4ParameterizedIntegrationTest extends AbstractTestFrameworkCompilingIntegrationTest {
@Override
protected String getTestContentRoot() {
return VfsUtilCore.pathToUrl(PlatformTestUtil.getCommunityPath() + "/plugins/junit5_rt_tests/testData/integration/parameterized");
}
private static Object[] createParams(final String mavenId, String src, String paramString) {
return new Object[]{mavenId, src, paramString};
}
@Override
protected void setupModule() throws Exception {
super.setupModule();
addMavenLibs(myModule, new JpsMavenRepositoryLibraryDescriptor("junit:junit:4.13"), getRepoManager());
}
//IDEA-146578
public void testParameterizedPattern() throws ExecutionException {
JUnitConfiguration configuration = new JUnitConfiguration("pattern", myProject);
PsiClass psiClass = findClass(myModule, "a.BaseTest");
assertNotNull(psiClass);
PsiMethod testMethod = psiClass.findMethodsByName("simple", false)[0];
configuration.bePatternConfiguration(Arrays.asList(findClass(myModule, "a.Test1"),
findClass(myModule, "a.Test2")), testMethod);
ProcessOutput processOutput = doStartTestsProcess(configuration);
String testOutput = processOutput.out.toString();
assertEmpty(processOutput.err);
assertTrue(testOutput, testOutput.contains("Test11"));
assertTrue(testOutput, testOutput.contains("Test12"));
assertTrue(testOutput, testOutput.contains("Test12"));
assertTrue(testOutput, testOutput.contains("Test22"));
assertFalse(testOutput, testOutput.contains("another"));
}
}