/**
  * {@inheritdoc}
  */
 public function test(Environment $env, FeatureNode $feature, $skip)
 {
     $background = $feature->getBackground();
     if (null === $background) {
         throw new FeatureHasNoBackgroundException(sprintf('Feature `%s` has no background that could be tested.', $feature->getFile()), $feature);
     }
     $results = $this->containerTester->test($env, $feature, $background, $skip);
     return new TestResults($results);
 }
 /**
  * {@inheritdoc}
  */
 public function test(Environment $env, FeatureNode $feature, Scenario $scenario, $skip = false)
 {
     $results = array();
     if ($feature->hasBackground()) {
         $backgroundResult = $this->testBackground($env, $feature, $skip);
         $skip = !$backgroundResult->isPassed() || $skip;
         $results[] = $backgroundResult;
     }
     $results = array_merge($results, $this->containerTester->test($env, $feature, $scenario, $skip));
     return new TestResults($results);
 }