Я пытаюсь написать тестовые примеры phpunit, которые могут проверять функциональность моего сайта, такие как Регистрация и Вход.
Я пытаюсь написать эти тестовые примеры phpunit за последние несколько дней. Код уже написан, и я предполагаю написать тестовые сценарии phpunit для них. Для этого я реализовал код, приведенный ниже
$this->getRequest()
->setMethod('POST')
->setPost(new Parameters($_POST));
$this->dispatch('/default/register');
$this->assertModuleName('default');
//assertActionName
$this->assertResponseStatusCode(200);
$this->assertControllerName(MyDefaultController::class);
$this->assertControllerClass('MyDefaultController');
$this->assertActionName('register');
$this->assertMatchedRouteName('register')
Я обнаружил разницу в поведении кода в браузере (где он работает просто отлично) и в случае с phpunit. В случае phpunit я получаю ответ 303 и регистрация не происходит. Когда я проверил далее код, я обнаружил, что Zend Framework использует метод $ prg для внутренних перенаправлений. Так что я получаю ответ в моем случае phpunit сразу после первого перенаправления. И так код статуса = 303 но регистрация не происходит.
С другой стороны, браузер обрабатывает это правильно и выполняет перенаправление, и регистрация работает очень хорошо.
Как я могу добиться того же результата для функций, которые перенаправляют URL-адрес внутри, например, Регистрация / Вход в случае phpunit?