package org.sky.auto.runner; import java.util.List; import org.junit.runner.Result; import org.junit.runner.Runner; import org.junit.runner.notification.RunListener; import org.junit.runner.notification.RunNotifier; public class JUnitRunner { private List<RunListener> listenerList; private Runner runner; public JUnitRunner(Runner runner){ this.runner=runner; } public JUnitRunner(Runner runner,List<RunListener>listenerList){ this.runner=runner; this.listenerList=listenerList; } /**没有提供过滤器和sort器,后期会添加功能!*/ public void run(Class<?>clazz){ RunNotifier notifier = new RunNotifier(); Result result = new Result(); notifier.addFirstListener(result.createListener()); for(RunListener rl : listenerList){ notifier.addListener(rl); } notifier.fireTestRunStarted(runner.getDescription()); runner.run(notifier); notifier.fireTestRunFinished(result); } }