Is it possible to run JUnit tests from inside my java application?
Are there test frameworks I can use (such as JUnit.jar?), or am I force to find the test files, in
In JUnit 5 you can use Launcher API for this goals.
final LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
.selectors(
selectPackage("path_to_folder_with_tests")
)
.build();
final Launcher launcher = LauncherFactory.create();
final boolean pathContainsTests = launcher.discover(request).containsTests()
if (!pathContainsTests) {
System.out.println("This path is invalid or folder doesn't consist tests");
}
final SummaryGeneratingListener listener = new SummaryGeneratingListener();
launcher.execute(request, listener);
final TestExecutionSummary summary = listener.getSummary();
final long containersFoundCount = summary.getContainersFoundCount();
System.out.println("containers Found Count " + containersFoundCount);
final long containersSkippedCount = summary.getContainersSkippedCount();
System.out.println("containers Skipped Count " + containersSkippedCount);
final long testsFoundCount = summary.getTestsFoundCount();
System.out.println("tests Found Count " + testsFoundCount);
final long testsSkippedCount = summary.getTestsSkippedCount();
System.out.println("tests Skipped Count " + testsSkippedCount);