示例#1
0
 public function beforeStep(\Behat\Behat\EventDispatcher\Event\BeforeStepTested $event)
 {
     $currentStep = $event->getStep();
     $feature = $event->getFeature();
     $scenarios = $feature->getScenarios();
     foreach ($scenarios as $scenario) {
         if ($scenario instanceof OutlineNode) {
             $steps = $scenario->getSteps();
             if (current($steps)->getLine() === $currentStep->getLine()) {
                 $this->init();
             }
         }
     }
 }
 /**
  * @param BeforeStepTested $event
  */
 public function onBefore(BeforeStepTested $event)
 {
     $step = $event->getStep();
     $class = new ReflectionClass($step);
     $propertyValue = $class->getProperty('arguments');
     $propertyValue->setAccessible(true);
     $arguments = $propertyValue->getValue($step);
     /**
      * @var TableNode $tableNode
      */
     foreach ($arguments as $id => $argument) {
         if ($argument instanceof TableNode) {
             $arguments[$id] = new NestedTableNode($argument->getTable());
         }
     }
     $propertyValue->setValue($step, $arguments);
 }