How do I run JUnit tests from inside my java application?

前端 未结 6 2082
无人共我
无人共我 2020-11-28 05:14

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

6条回答
  •  死守一世寂寞
    2020-11-28 05:46

    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);
    

提交回复
热议问题