【问题标题】:Cake3: Controller TestCase is black-holed蛋糕 3:控制器测试用例是黑洞
【发布时间】:2015-07-12 20:03:10
【问题描述】:

当我在 Cake3 中使用安全组件时,我总是在控制器测试中收到错误消息:“请求已被黑洞处理”。它按预期工作,因为在这种情况下请求确实是黑洞,但无论如何我都需要测试我的代码。

我发现以下post 关于同一问题,但在 Cake2 中。不幸的是,我无法将它转移到 Cake3 中,也许在这里无法使用相同的方法。

这是我的测试用例的样子:

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

Csrf 组件也会出现同样的问题,但解决方案应该非常相似,所以我会在之后解决这个问题。

【问题讨论】:

标签: phpunit cakephp-3.0 csrf-protection


【解决方案1】:

您的测试必须扩展 IntegrationTestCase 并且在发布之前您可以使用:

    $this->enableCsrfToken();
    $this->enableSecurityToken();

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2015-06-30
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多