Yii2 REST API 编码问题

Yii2 REST API Codeception issue

我正在尝试使用 Codeception 功能测试我的应用 RESTful API。我将 HttpBasicAuth 与自定义身份验证功能一起使用,该功能可验证用户名和密码。

我要测试的端点是一个简单的 GET /users。 functional.suite.yml 看起来像这样:

class_name: FunctionalTester
modules:
  enabled: 
    - Filesystem 
    - Yii2 
    - REST:
        depends: PhpBrowser
    - tests\codeception\_support\FixtureHelper
  config: 
    Yii2:
        configFile: 'codeception/config/functional.php'
    REST:
        url: 'http://localhost:8888/v1/'

我的 UserApiCept.php 是这样开始的:

<?php 
$I = new FunctionalTester($scenario);
$I->wantTo('test the user REST API');
$I->amHttpAuthenticated('goodname', 'goodpassword');
$I->sendGET('users/1');

当我 运行 套件时,我收到 401(未经授权的 HTTP 异常)。在 --debug 中,request headers 为空。但是,当我在 Postman 中 运行 GET(提供用户名和密码)时,GET returns 我期望的 JSON 响应。所以我知道 API 有效。

amHttpAuthenticated 似乎有问题,我认为它应该提供授权 header,对吧?

关于如何解决此问题的任何建议?

马哈洛, 乔

万一其他人有这个问题,我的依赖错误:

class_name: FunctionalTester
modules:
  enabled: 
    - Filesystem 
    - Yii2 
    - REST:
        depends: Yii2
...

当我最初在添加 REST 后进行构建时,收到错误消息: "This module depends on Codeception\Lib\InnerBrowser" 然后使用

提供了一个例子
depends: PhpBrowser

希望这对某人有所帮助。