ADmad / JwtAuth认证集成测试控制器Cakephp 3

时间:2016-03-10 19:33:07

标签: cakephp integration-testing cakephp-3.0 jwt

我目前正在尝试对控制器执行集成测试,该控制器只有在使用Authorization发送请求时才可访问:Bearer 令牌(我正在使用ADmad / JwtAuth插件) 。以下是测试控制器的代码:

public function testViewShouldPass(){
    $accessToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjE2LCJleHAiOjE0NTgyNDEzNDF9.pJ2q_t6d2wBPF4Ie_gOx-_o0zWfDB0mgYeAan4WaSdQ';
    $this->configRequest([
        'headers' => [
            'Authorization' => 'Bearer ' . $accessToken,
            'Accept' => 'application/json'
        ]
    ]);
    $data = $this->get('/api/pictures/1.json');
    $this->assertResponseOk(); // will throw an unauthorized exception
    $this->assertResponseContains('Pictures');
}

如何确保测试方法不会引发未经授权的异常?我知道令牌需要以某种方式被嘲笑,但我不知道如何做到这一点,因为我对单元/集成测试(一般和Cakephp)都很新。

0 个答案:

没有答案