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

org.unitils.JUnit4TestExecutor Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2008,  Unitils.org
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.unitils;

import org.junit.internal.runners.InitializationError;
import org.junit.runner.Result;
import org.junit.runner.notification.RunNotifier;

public class JUnit4TestExecutor implements TestExecutor {

	private Result result;
	
	public JUnit4TestExecutor() {
		super();
	}

	public void runTests(Class... testClasses) throws Exception {
		result = new Result();
        RunNotifier runNotifier = new RunNotifier();
        runNotifier.addListener(result.createListener());
        
        for (Class testClass : testClasses) {
        	UnitilsJUnit4TestClassRunner testClassRunner = new TestUnitilsJUnit4TestClassRunner(testClass);
        	testClassRunner.run(runNotifier);
        }
	}
	
	public void runTests(String testGroup, Class... testClasses) throws Exception {
		runTests(testClasses);
	}

	public int getRunCount() {
		return result.getRunCount();
	}
	
	public int getFailureCount() {
		return result.getFailureCount();
	}
	
	public int getIgnoreCount() {
		return result.getIgnoreCount();
	}
	
	/**
     * Overridden test class runner to be able to use the {@link TracingTestListener} as test listener.
     */
    class TestUnitilsJUnit4TestClassRunner extends UnitilsJUnit4TestClassRunner {

        public TestUnitilsJUnit4TestClassRunner(Class testClass) throws InitializationError {
            super(testClass);
        }
       
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy