
eu.stamp_project.testrunner.runner.coverage.JUnit5JacocoRunnerCoveredResultPerTestMethod 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.junit5.CoveredTestResultsPerJUnit5TestMethod;
import eu.stamp_project.testrunner.listener.junit5.JUnit5TestResult;
import eu.stamp_project.testrunner.runner.JUnit5Runner;
import eu.stamp_project.testrunner.runner.ParserOptions;
import eu.stamp_project.testrunner.utils.ConstantsHelper;
import org.jacoco.core.runtime.RuntimeData;
import java.util.Collections;
import java.util.List;
/**
* JUnit5 implementation of {@link JacocoRunnerCoveredResultPerTestMethod}.
*
* @author andre15silva
*/
public class JUnit5JacocoRunnerCoveredResultPerTestMethod extends JacocoRunnerCoveredResultPerTestMethod {
public JUnit5JacocoRunnerCoveredResultPerTestMethod(List classesDirectory,
List testClassesDirectory,
CoverageTransformer coverageTransformer) {
super(classesDirectory, testClassesDirectory, coverageTransformer);
}
public JUnit5JacocoRunnerCoveredResultPerTestMethod(List classesDirectory,
List testClassesDirectory,
List blackList,
CoverageTransformer coverageTransformer) {
super(classesDirectory, testClassesDirectory, blackList, coverageTransformer);
}
public JUnit5JacocoRunnerCoveredResultPerTestMethod(List classesDirectory,
List testClassesDirectory,
List blackList,
int nbFailingLoadClass,
CoverageTransformer coverageTransformer) {
super(classesDirectory, testClassesDirectory, blackList, nbFailingLoadClass, coverageTransformer);
}
@Override
protected CoveredTestResultPerTestMethod executeCoveredTestPerTestMethod(RuntimeData data, List classesDirectory, String[] testClassNames, String[] testMethodNames) {
final CoveredTestResultsPerJUnit5TestMethod listener = new CoveredTestResultsPerJUnit5TestMethod(data, classesDirectory, coverageTransformer);
JUnit5Runner.run(
testClassNames,
testMethodNames,
Collections.emptyList(),
this.nbFailingLoadClass,
(JUnit5TestResult) listener,
this.instrumentedClassLoader
);
listener.computeCoverages();
return listener;
}
public static void main(String[] args) {
final ParserOptions options = ParserOptions.parse(args);
new JUnit5JacocoRunnerCoveredResultPerTestMethod(
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