Я создал следующий интерфейс:
<?php
interface Action
{
public function execute(\requests\Request $request, array $params);
}
Затем я пытаюсь создать объект Mock для этого интерфейса с помощью PHPUnit 3.4, но получаю следующую ошибку:
Неустранимая ошибка: объявление Mock_Action_b389c0b1 :: execute () должно быть совместимо с описанием Action :: execute () в D: \ Xampp \ xampp \ php \ PEAR \ PHPUnit \ Framework \ TestCase.php (1121): eval () код в строке 2
Я просмотрел трассировку стека, полученную из PHPUnit, и обнаружил, что он создает объект Mock, который реализует интерфейс Action, но создает метод execute следующим образом:
<?php
public function execute($request, array $params)
Как видите, PHPUnit принимает подсказку типа массива, но забывает о \ запросы \ запросы. Что, очевидно, приводит к ошибке. Кто-нибудь знает обходной путь для этой ошибки?
Я тоже пробовал без пространств имен, но все равно получаю ту же ошибку.