public function runStep(Step $step)
{
$result = null;
$this->fire(Events::STEP_BEFORE, new StepEvent($this, $step));
try {
$result = $step->run($this->moduleContainer);
} catch (ConditionalAssertionFailed $f) {
$this->testResult->addFailure(clone $this, $f, $this->testResult->time());
} catch (\Exception $e) {
$this->fire(Events::STEP_AFTER, new StepEvent($this, $step));
throw $e;
}
$this->fire(Events::STEP_AFTER, new StepEvent($this, $step));
return $result;
}