PHPUnit - Zend Framework 3 - тестирование заглушек, которые перенаправляют - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь написать тестовые примеры 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?

...