Cake3: Controller TestCase — черная дыра

Когда я использую компонент «Безопасность» в Cake3, я всегда получаю сообщение об ошибке: «Запрос был скрыт черными дырами» в моих тестах контроллера. Это работает, как и ожидалось, потому что в этом случае запрос действительно скрыт, но мне все равно нужна возможность протестировать мой код.

Я нашел следующий сообщение о той же проблеме, но в Cake2. К сожалению, мне не удалось перенести его на Cake3 и, возможно, здесь невозможно использовать тот же подход.

Вот как выглядит мой тестовый пример:

        $data = [
        'first_name' => 'Test First Name',
        'last_name' => 'Test Last Name',
        'gender' => Gender::MALE,
        'role_id' => Role::ADMIN,
        'email' => '[email protected]',
        'password' => '',
        'status' => Status::ACTIVE,
        'birthday' => '2015-01-01',
    ];
    $this->post(['prefix' => 'admin', 'controller' => 'users', 'action' => 'edit', 1], $data);

Та же проблема возникает и для компонента Csrf, но решение должно быть очень похожим, поэтому я разберусь с этим позже.


person Stefan D.    schedule 12.07.2015    source источник
comment
comment
Также см. stackoverflow.com/q/31119078/1392379.   -  person ndm    schedule 12.07.2015


Ответы (1)


Ваш тест должен расширять IntegrationTestCase, и перед созданием сообщения вы можете использовать:

    $this->enableCsrfToken();
    $this->enableSecurityToken();
person yeliparra    schedule 30.01.2017