private static SpecRunner buildRunner(RunInput input, List <Specification> specs, RunningSystem running, out IExecutionObserver executionObserver) { IBatchObserver batchObserver = new NulloBatchObservor(); executionObserver = new NulloObserver(); switch (input.TracingFlag) { case TracingStyle.verbose: batchObserver = new ConsoleBatchObserver(specs.Count); // TODO -- awesome if you could get smarter w/ the console output here break; case TracingStyle.teamcity: batchObserver = new TeamCityBatchObserver(); executionObserver = new TeamCityExecutionObserver(); break; case TracingStyle.appveyor: batchObserver = new AppVeyorBatchObserver(); break; } var runner = new SpecRunner(new BatchExecutionMode(batchObserver), running.System, executionObserver); runner.UseStopConditions(Project.CurrentProject.StopConditions); return(runner); }