private void addIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] engineIds = getIncludedEngineIds(); if (engineIds.length > 0) { requestBuilder.filters(includeEngines(engineIds)); } }
private void addExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) { String[] engineIds = getExcludedEngineIds(); if (engineIds.length > 0) { requestBuilder.filters(excludeEngines(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; } } }
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(); }