@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); }
public static void main(String[] args) throws Exception { try (SocketChannel channel = openSocket()) { TestExecutionListener listener = createListener(channel); Launcher launcher = LauncherFactory.create(); launcher.registerTestExecutionListeners(listener); ObjectInputStream inputStream = openInput(); Map<String, List<String>> config = (Map<String, List<String>>) inputStream.readObject(); Set<File> roots = config.get("classpathRoots").stream() .map(File::new) .collect(Collectors.toSet()); LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClasspathRoots(roots)) .build(); launcher.execute(request); } }
private static int launch(ModuleReference moduleReference, Launcher launcher) { LauncherDiscoveryRequestBuilder builder = LauncherDiscoveryRequestBuilder.request(); builder.selectors(selectModule(moduleReference.descriptor().name())); long startTimeMillis = System.currentTimeMillis(); LauncherDiscoveryRequest launcherDiscoveryRequest = builder.build(); SummaryGeneratingListener summaryGeneratingListener = new SummaryGeneratingListener(); launcher.execute(launcherDiscoveryRequest, summaryGeneratingListener); long duration = System.currentTimeMillis() - startTimeMillis; TestExecutionSummary summary = summaryGeneratingListener.getSummary(); int failures = (int) summary.getTestsFailedCount(); if (failures == 0) { long succeeded = summary.getTestsSucceededCount(); String moduleName = moduleReference.descriptor().toNameAndVersion(); System.out.printf("[tester] Successfully tested %s: %d tests in %d ms%n", moduleName, succeeded, duration); } else { StringWriter stringWriter = new StringWriter(); summary.printTo(new PrintWriter(stringWriter)); summary.printFailuresTo(new PrintWriter(stringWriter)); System.out.println(stringWriter); } return failures; }
private void runClasses(Class<?>... classes) { final ClassSelector[] classSelectors = Stream.of(classes) .map(DiscoverySelectors::selectClass) .toArray(ClassSelector[]::new); final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(classSelectors) .build(); AllureJunit5AnnotationProcessor.setLifecycle(lifecycle); final Launcher launcher = LauncherFactory.create(); launcher.execute(request, new AllureJunit5(lifecycle)); }
private void runClasses(Class<?>... classes) { final ClassSelector[] classSelectors = Stream.of(classes) .map(DiscoverySelectors::selectClass) .toArray(ClassSelector[]::new); final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(classSelectors) .build(); final Launcher launcher = LauncherFactory.create(); launcher.execute(request, new AllureJunit5(lifecycle)); }
public static TestPlanExecutionReport runTests(Class<?> clazz) { Launcher launcher = LauncherFactory.create(); LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selectClass(clazz)) .build(); ExecutionReportListener listener = new ExecutionReportListener().addClassToSkip(clazz); launcher.execute(request, listener); return listener.getReport(); }
public ExitStatus execute(SummaryGeneratingListener listener, DiscoverySelector selector, ApplicationConfiguration applicationConfiguration, FilesLocator filesLocator) { ApplicationConfigurationResolver.setConfiguration(applicationConfiguration); FilesLocatorResolver.setFilesLocator(filesLocator); LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(selector) .build(); Launcher launcher = LauncherFactory.create(); launcher.registerTestExecutionListeners(listener); launcher.execute(request); return listener.getSummary().getFailures().isEmpty() ? ExitStatus.SUCCESS : ExitStatus.FAILURE; }
@Override public int getAsInt() { ClassLoader oldContext = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); try { ModuleReference moduleReference = ModuleHelper.getOnlyModule(testPath); Launcher launcher = LauncherFactory.create(); return launch(moduleReference, launcher); } finally { Thread.currentThread().setContextClassLoader(oldContext); } }
public ForeignClassLoaderLauncher(Launcher launcher, LauncherDiscoveryRequest launcherDiscoveryRequest) { this.launcher = launcher; this.launcherDiscoveryRequest = launcherDiscoveryRequest; }