private void addIncludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] includedPackages = getIncludedPackages(); if (includedPackages.length > 0) { requestBuilder.filters(includePackageNames(includedPackages)); } }
private void addIncludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] includedTags = getIncludedTags(); if (includedTags.length > 0) { requestBuilder.filters(includeTags(includedTags)); } }
private void addIncludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite) { String[] patterns = getIncludeClassNamePatterns(isSuite); if (patterns.length > 0) { requestBuilder.filters(includeClassNamePatterns(patterns)); } }
private void addExcludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] excludedPackages = getExcludedPackages(); if (excludedPackages.length > 0) { requestBuilder.filters(excludePackageNames(excludedPackages)); } }
private void addExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] engineIds = getExcludedEngineIds(); if (engineIds.length > 0) { requestBuilder.filters(excludeEngines(engineIds)); } }
private void addExcludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] patterns = getExcludeClassNamePatterns(); if (patterns.length > 0) { requestBuilder.filters(excludeClassNamePatterns(patterns)); } }
private void addExcludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] excludedTags = getExcludedTags(); if (excludedTags.length > 0) { requestBuilder.filters(excludeTags(excludedTags)); } }
private void addIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] engineIds = getIncludedEngineIds(); if (engineIds.length > 0) { requestBuilder.filters(includeEngines(engineIds)); } }
private void addFilters(LauncherDiscoveryRequestBuilder requestBuilder, CommandLineOptions options) { requestBuilder.filters(includeClassNamePatterns(options.getIncludedClassNamePatterns().toArray(new String[0]))); if (!options.getExcludedClassNamePatterns().isEmpty()) { requestBuilder.filters( excludeClassNamePatterns(options.getExcludedClassNamePatterns().toArray(new String[0]))); } if (!options.getIncludedPackages().isEmpty()) { requestBuilder.filters(includePackageNames(options.getIncludedPackages())); } if (!options.getExcludedPackages().isEmpty()) { requestBuilder.filters(excludePackageNames(options.getExcludedPackages())); } if (!options.getIncludedTagExpressions().isEmpty()) { requestBuilder.filters(includeTags(options.getIncludedTagExpressions())); } if (!options.getExcludedTagExpressions().isEmpty()) { requestBuilder.filters(excludeTags(options.getExcludedTagExpressions())); } if (!options.getIncludedEngines().isEmpty()) { requestBuilder.filters(includeEngines(options.getIncludedEngines())); } if (!options.getExcludedEngines().isEmpty()) { requestBuilder.filters(excludeEngines(options.getExcludedEngines())); } }
public static boolean isJUnit5Test(Class<?> clazz) { try { Class.forName(JupiterTestEngine.class.getCanonicalName()); } catch (ClassNotFoundException e) { throw new AssertionError("Jupiter engine not found"); } LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClass(clazz)) .filters(EngineFilter.includeEngines("junit-jupiter")) .build(); try { TestPlan plan = LauncherFactory.create().discover(request); long numberOfTests = plan.countTestIdentifiers(t -> t.isTest()); boolean testsPresent = numberOfTests > 0; return testsPresent; } catch (Throwable e) { // This might fail for any number of reasons... // TODO : use some log instead? e.printStackTrace(); return false; } } }
private LauncherDiscoveryRequest buildLauncherDiscoveryRequest( TestsToRun testsToRun ) { LauncherDiscoveryRequestBuilder builder = request().filters( filters ).configurationParameters( configurationParameters ); for ( Class<?> testClass : testsToRun ) { builder.selectors( selectClass( testClass ) ); } return builder.build(); }
@Override @SuppressWarnings( "rawtypes" ) public boolean accept( Class testClass ) { LauncherDiscoveryRequest discoveryRequest = request() .selectors( selectClass( testClass ) ) .filters( includeAndExcludeFilters ).build(); TestPlan testPlan = launcher.discover( discoveryRequest ); return testPlan.containsTests(); } }
@Example void discoverWithClassNameFilter() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectPackage("examples")) .filters(ClassNameFilter.includeClassNamePatterns(".+" + MixedTests.class.getSimpleName())).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(count(engineDescriptor, isEngineDescriptor)).isEqualTo(1); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(1); assertThat(count(engineDescriptor, isPropertyDescriptor)).isEqualTo(5); }
@Example void discoverWithPackageNameFilter() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectPackage("examples")) .filters(PackageNameFilter.includePackageNames("examples.packageWithSeveralContainers")).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(count(engineDescriptor, isEngineDescriptor)).isEqualTo(1); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(3); assertThat(count(engineDescriptor, isPropertyDescriptor)).isEqualTo(14); }
public TestResults runTest(Class<?> clazz) { List<Filter<?>> filters = new ArrayList<>(); filters.add(EngineFilter.includeEngines("junit-jupiter")); if (!configSource.getConfiguration().includedGroups().isEmpty()) { filters.add(TagFilter.includeTags(configSource.getConfiguration().includedGroups().asList())); } if (!configSource.getConfiguration().excludedGroups().isEmpty()) { filters.add(TagFilter.excludeTags(configSource.getConfiguration().excludedGroups().asList())); } LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClass(clazz)) .filters(filters.toArray(new Filter[0])) .build(); Launcher launcher = LauncherFactory.create(); // Register a listener of your choice JUnit5EventTranslator listener = new JUnit5EventTranslator(); launcher.registerTestExecutionListeners(listener); launcher.execute(request, new TestExecutionListener[0]); return listener.getTestResults(); }
@Example void runTestsFromRootDir() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClasspathRoots(JqwikReflectionSupport.getAllClasspathRootDirectories())) .filters(PackageNameFilter.includePackageNames("examples.packageWithSingleContainer")).build(); TestDescriptor engineDescriptor = runTests(discoveryRequest); verify(eventRecorder).executionStarted(engineDescriptor); verifyRunOfSimpleExampleTests(); verify(eventRecorder).executionFinished(engineDescriptor, TestExecutionResult.successful()); }
@SuppressWarnings("unused") public static void main(String[] args) { // Discover and filter tests LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder .request() .selectors(selectPackage("io.github.bonigarcia"), selectClass(DummyTest.class)) .filters(includeClassNamePatterns(".*Test")).build(); Launcher launcher = LauncherFactory.create(); TestPlan plan = launcher.discover(request); // Executing tests TestExecutionListener listener = new SummaryGeneratingListener(); launcher.registerTestExecutionListeners(listener); launcher.execute(request, listener); }
@SuppressWarnings("unused") public static void main(String[] args) { // Discover and filter tests LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder .request() .selectors(selectPackage("io.github.bonigarcia"), selectClass(DummyTest.class)) .filters(includeClassNamePatterns(".*Test")).build(); Launcher launcher = LauncherFactory.create(); TestPlan plan = launcher.discover(request); // Executing tests TestExecutionListener listener = new SummaryGeneratingListener(); launcher.registerTestExecutionListeners(listener); launcher.execute(request, listener); }