/** * afterFeature * * @param FeatureTested $event */ public function afterFeature(FeatureTested $event) { $this->testsuiteTimer->stop(); $testsuite = $this->currentTestsuite; $testsuite->addAttribute('tests', array_sum($this->testsuiteStats)); $testsuite->addAttribute('failures', $this->testsuiteStats[TestResult::FAILED]); $testsuite->addAttribute('skipped', $this->testsuiteStats[TestResult::SKIPPED]); $testsuite->addAttribute('errors', $this->testsuiteStats[TestResult::PENDING]); $testsuite->addAttribute('time', \round($this->testsuiteTimer->getTime(), 3)); }
/** * afterScenario * * @param mixed $event */ public function afterScenario(AfterScenarioTested $event) { $this->testcaseTimer->stop(); $code = $event->getTestResult()->getResultCode(); $testResultString = array(TestResult::PASSED => 'passed', TestResult::SKIPPED => 'skipped', TestResult::PENDING => 'pending', TestResult::FAILED => 'failed'); $this->testsuiteStats[$code]++; $this->currentTestcase->addAttribute('time', \round($this->testcaseTimer->getTime(), 3)); $this->currentTestcase->addAttribute('status', $testResultString[$code]); if ($this->lastStepFailure) { $failureNode = $this->currentTestcase->addChild('failure', $this->lastStepFailureException->getMessage()); $failureNode->addAttribute('message', $this->lastStepFailure); } }