AbstractScenarioRunner extends Runner { @Override public void run(RunNotifier notifier) { simulationRunMetadataBuilder = SimulationRunMetadataBuilder.create(); notifier.fireTestStarted(getDescription()); for (ScenarioWithIndex scenarioWithIndex : scenarioRunnerDTO.getScenarioWithIndices()) { singleRunScenario(scenarioWithIndex, notifier, scenarioRunnerDTO.getSettings(), scenarioRunnerDTO.getBackground()) .ifPresent(simulationRunMetadataBuilder::addScenarioResultMetadata); } notifier.fireTestStarted(getDescription()); } AbstractScenarioRunner(KieContainer kieContainer,
                                  ScenarioRunnerDTO scenarioRunnerDTO,
                                  ExpressionEvaluatorFactory expressionEvaluatorFactory); static Description getDescriptionForSimulation(Optional<String> className, List<ScenarioWithIndex> scenarios); static Description getDescriptionForScenario(Optional<String> className, int index, Scenario scenario); static ScenarioRunnerProvider getSpecificRunnerProvider(Type type); @Override void run(RunNotifier notifier); @Override Description getDescription(); Optional<String> getFileName(); ClassLoader getClassLoader(); KieContainer getKieContainer(); Optional<SimulationRunMetadata> getLastRunResultMetadata();  }
@Test public void testRun() { assertNull(abstractScenarioRunnerLocal.simulationRunMetadataBuilder); abstractScenarioRunnerLocal.run(new RunNotifier()); assertNotNull(abstractScenarioRunnerLocal.simulationRunMetadataBuilder); }