/** * Method lifecycle. * * @param TestMeta $test * * @return int Status code */ public function testMethod(TestMeta $test) { $statusCode = 0; $this->controller->resolveDependencies($test); $dataProvider = $this->controller->getDataSet($test); foreach ($dataProvider as $index => $dataSet) { /** @var MethodEvent $event */ $event = $this->container->get('event.method'); $event->configByTestMeta($test); if (count($dataProvider) > 1) { $event->setDataSet($index + 1); } $this->controller->beforeTest($event); if ($this->controller->test($test, $event, $dataSet)) { $statusCode = 1; } $this->controller->afterTest($event); } return $statusCode; }