Я пытаюсь использовать объектную модель страницы в моем фреймворке behat. Вот мой фрагмент кода.
HomePage.php
use Behat\Behat\Context\Context;
use SensioLabs\Behat\PageObjectExtension\PageObject\Page;
class HomePage extends Page implements Context{
protected $path = '/';
}
FeatureContext.php
use Behat\Behat\Context\Context;
use SensioLabs\Behat\PageObjectExtension\PageObject\Page;
class FeatureContext extends Page implements Context, \Behat\Behat\Context\SnippetAcceptingContext
{
private $homepage;
public function __construct(HomePage $homepage)
{
$this->homepage = $homepage;
}
/**
* @Given /^(?:|I )visited (?:|the )(?P<pageName>.*?)$/
*/
public function iVisitedThe($pageName)
{
if (!isset($this->$pageName)) {
throw new \RuntimeException(sprintf('Unrecognised page: "%s".', $pageName));
}
$this->$pageName->open();
}
}
Но при выполнении тестов behat я получаю следующую ошибку -> "ArgumentCountError: слишком мало аргументов для функции SensioLabs \ Behat \ PageObjectExtension \ PageObject \ Page :: __ construct (), 0 передано и при минимум 2 ожидаемых "