Я пытаюсь создать тестовый пример для действия входа в систему с 2 параметрами post, код такой как здесь
namespace UserTest\Controller;
use Application\Controller\LoginController;
use Application\Service\AuthenticationService;
use Zend\Stdlib\ArrayUtils;
use Zend\Stdlib\Parameters;
use Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase;
class UserControllerTest extends AbstractHttpControllerTestCase
public function testIndexActionCanBeAccessed()
{
$p = new Parameters();
$p->set('username','foo');
$p->set('password','bar');
$this->getRequest()->setMethod('POST');
$this->getRequest()->setPost($p);
$this->dispatch('widget/login');
$this->assertModuleName('Application');
$this->assertControllerName(LoginController::class);
$this->assertControllerClass('LoginController');
//$this->assertMatchedRouteName('login');
}
, и при выполнении тестового примера из командной строки команда:
. / Vendor / bin / phpunit /var/www/myproject/application/module/Application/test/Controller/UserControllerTest.php
и ошибка при бросании скрипта
Неустранимая ошибка: объявление Application \ Service \ AuthenticationService :: authenticate () должно быть совместимо с Zend \ Authentication \ AuthenticationService :: authenticate (? Zend \ Authentication \ Adapter \ AdapterInterface $ adapter = NULL) в / var / www /myproject / application / module / Application / src / Application / Service / AuthenticationService.php в строке 16
Пожалуйста, помогите мне решить эту проблему и дайте мне знать, что я делаю неправильно