如何解决Codeception 调用未定义的方法 assertEquals
我正处于 Codeception 冒险的开始。
我在分配 assertEquals() 方法时遇到了问题,即使我声明了它
use PHPUnit\Framework\Assert;
代码测试:
<?PHP declare(strict_types=1);
namespace Product\TestApi;
use Product\ApiTester;
use Codeception\Util\HttpCode;
use PHPUnit\Framework\Assert;
public function CreateProduct(ApiTester $I)
{
$I->sendPost('/api/product/');
$I->seeResponseCodeIs(HttpCode::CREATED);
$responsePost = $I->grabDataFromresponseByJsonPath('$..product');
$I-$this->assertEquals(4,strlen((string)$responsePost));
$I->seeResponseContainsJson(
[
'category' => 'main','product' => 'fish',]
);
}
}
api/CreateProductCest.PHP:createProduct
[Error] Call to undefined method Product\TestApi\CreateProductCest::assertEquals()
Scenario Steps:
3. $I->grabDataFromresponseByJsonPath("$..product") at api/CreateProductCest.PHP:42
2. $I->seeResponseCodeIs(201) at api/CreateProductCest.PHP:41
1. $I->sendPost("/api/product/") at api/CreateProductCest.PHP:40
#1 /product-service/modules/Product/tests/api/CreateProductCest.PHP:43
#2 Product\TestApi\CreateProductCest->createProduct
Artifacts:
Body: {"id":3,"product":"fish","category":"main"}
解决方法
$this->assertEquals
在 Cest 格式中不可用,您必须在套件配置文件中启用 Asserts 模块,然后使用 $I->assertEquals
。
api.suite.yaml:
actor: ApiTester
modules:
enabled:
- Asserts
- REST:
depends: PhpBrowser
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。