private JUnitPlatformTestTree generateTestTree(LauncherDiscoveryRequest discoveryRequest) { TestPlan testPlan = this.launcher.discover(discoveryRequest); return new JUnitPlatformTestTree(testPlan, this.testClass); }
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; } } }
@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(); } }
@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); }