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
希望这对某人有所帮助。
我正在尝试使用 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
希望这对某人有所帮助。