All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.stamp_project.testrunner.runner.coverage.JUnit5OnlineJacocoRunner Maven / Gradle / Ivy

package eu.stamp_project.testrunner.runner.coverage;

import eu.stamp_project.testrunner.listener.CoverageTransformer;
import eu.stamp_project.testrunner.listener.CoveredTestResultPerTestMethod;
import eu.stamp_project.testrunner.listener.junit4.JUnit4TestResult;
import eu.stamp_project.testrunner.listener.junit4.OnlineCoveredTestResultsPerJUnit4TestMethod;
import eu.stamp_project.testrunner.listener.junit5.JUnit5TestResult;
import eu.stamp_project.testrunner.listener.junit5.OnlineCoveredTestResultsPerJUnit5TestMethod;
import eu.stamp_project.testrunner.runner.JUnit4Runner;
import eu.stamp_project.testrunner.runner.JUnit5Runner;
import eu.stamp_project.testrunner.runner.ParserOptions;
import eu.stamp_project.testrunner.utils.ConstantsHelper;

import java.util.Collections;
import java.util.List;

public class JUnit5OnlineJacocoRunner extends JacocoOnlineRunner {

	public JUnit5OnlineJacocoRunner(List classesDirectory,
									List testClassesDirectory,
									CoverageTransformer coverageTransformer) {
		super(classesDirectory, testClassesDirectory, coverageTransformer);
	}

	public JUnit5OnlineJacocoRunner(List classesDirectory,
									List testClassesDirectory,
									List blackList,
									CoverageTransformer coverageTransformer) {
		super(classesDirectory, testClassesDirectory, blackList, coverageTransformer);
	}

	public JUnit5OnlineJacocoRunner(List classesDirectory,
									List testClassesDirectory,
									List blackList,
									int nbFailingLoadClass,
									CoverageTransformer coverageTransformer) {
		super(classesDirectory, testClassesDirectory, blackList, nbFailingLoadClass, coverageTransformer);
	}

	@Override
	protected CoveredTestResultPerTestMethod executeCoveredTestPerTestMethod(List classesDirectory, String[] testClassNames, String[] testMethodNames) {
		final OnlineCoveredTestResultsPerJUnit5TestMethod listener = new OnlineCoveredTestResultsPerJUnit5TestMethod(classesDirectory, coverageTransformer);
		JUnit5Runner.run(
				testClassNames,
				testMethodNames,
				Collections.emptyList(),
				this.nbFailingLoadClass,
				(JUnit5TestResult) listener,
				JUnit5OnlineJacocoRunner.class.getClassLoader()
		);
		listener.computeCoverages();
		return listener;
	}

	public static void main(String[] args) {
		final ParserOptions options = ParserOptions.parse(args);
		new JUnit5OnlineJacocoRunner(
				options.getPathToCompiledClassesOfTheProject(),
				options.getPathToCompiledTestClassesOfTheProject(),
				options.getBlackList(),
				options.getNbFailingLoadClass(),
				options.getCoverageTransformer()
		).runCoveredTestResultPerTestMethod(
				options.getPathToCompiledClassesOfTheProject(),
				options.getPathToCompiledTestClassesOfTheProject(),
				options.getFullQualifiedNameOfTestClassesToRun(),
				options.getTestMethodNamesToRun()
		).save();
		System.exit(0);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy