/** * {@inheritdoc} */ public function tearDown(Environment $env, FeatureNode $feature, $skip, TestResult $result) { $event = new BeforeBackgroundTeardown($env, $feature, $feature->getBackground(), $result); $this->eventDispatcher->dispatch(BackgroundTested::BEFORE_TEARDOWN, $event); $teardown = $this->baseTester->tearDown($env, $feature, $skip, $result); $event = new AfterBackgroundTested($env, $feature, $feature->getBackground(), $result, $teardown); $this->eventDispatcher->dispatch(BackgroundTested::AFTER, $event); return $teardown; }
/** * Tests background of the provided feature against provided environment. * * @param Environment $env * @param FeatureNode $feature * @param Boolean $skip * * @return TestResult */ private function testBackground(Environment $env, FeatureNode $feature, $skip) { $setup = $this->backgroundTester->setUp($env, $feature, $skip); $skipSetup = !$setup->isSuccessful() || $skip; $testResult = $this->backgroundTester->test($env, $feature, $skipSetup); $teardown = $this->backgroundTester->tearDown($env, $feature, $skipSetup, $testResult); $integerResult = new IntegerTestResult($testResult->getResultCode()); return new TestWithSetupResult($setup, $integerResult, $teardown); }