Skip to content

Commit 287896f

Browse files
committed
Test that PackageNameFilters are applied correctly
Issue: #1084
1 parent 195594c commit 287896f

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

junit-vintage-engine/src/test/java/org/junit/vintage/engine/VintageTestEngineDiscoveryTests.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
2727
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectPackage;
2828
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId;
29+
import static org.junit.platform.engine.discovery.PackageNameFilter.includePackageNames;
2930
import static org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request;
3031

3132
import java.lang.reflect.Method;
@@ -268,6 +269,22 @@ void resolvesApplyingClassNameFilters() throws Exception {
268269
// @formatter:on
269270
}
270271

272+
@Test
273+
void resolvesApplyingPackageNameFilters() throws Exception {
274+
Path root = getClasspathRoot(PlainJUnit4TestCaseWithSingleTestWhichFails.class);
275+
276+
LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClasspathRoots(singleton(root))).filters(
277+
includePackageNames("org"), includePackageNames("org.junit")).build();
278+
279+
TestDescriptor engineDescriptor = discoverTests(discoveryRequest);
280+
281+
// @formatter:off
282+
assertThat(engineDescriptor.getChildren())
283+
.extracting(TestDescriptor::getDisplayName)
284+
.contains(PlainJUnit4TestCaseWithSingleTestWhichFails.class.getName());
285+
// @formatter:on
286+
}
287+
271288
@Test
272289
void resolvesPackageSelectorForJUnit4SamplesPackage() {
273290
Class<?> testClass = PlainJUnit4TestCaseWithSingleTestWhichFails.class;
@@ -560,6 +577,19 @@ void doesNotResolveMethodOfClassNotAcceptedByClassNameFilter() throws Exception
560577
assertYieldsNoDescriptors(request);
561578
}
562579

580+
@Test
581+
void doesNotResolveMethodOfClassNotAcceptedByPackageNameFilter() throws Exception {
582+
Class<?> testClass = PlainJUnit4TestCaseWithFiveTestMethods.class;
583+
// @formatter:off
584+
LauncherDiscoveryRequest request = request()
585+
.selectors(selectMethod(testClass, testClass.getMethod("failingTest")))
586+
.filters(includePackageNames("com.acme"))
587+
.build();
588+
// @formatter:on
589+
590+
assertYieldsNoDescriptors(request);
591+
}
592+
563593
@Test
564594
void resolvesClassForMethodSelectorForClassWithNonFilterableRunner() throws Exception {
565595
Class<?> testClass = IgnoredJUnit4TestCase.class;

0 commit comments

Comments
 (0)