api - 如何使用 Codeception Hook beforeSuite 事件进行 API 验收测试?

标签 api codeception acceptance

我正在使用 Codeception 构建 API 验收测试。

我熟悉那里的单元测试,并且在运行该类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。

但是我没有找到类似的验收测试。

请注意,我使用的是“类”方法,而不是过程方法。

所以我有一个这样的类(class)......

class ResourceCest {
    public function _beforeSuite(ApiTester $I)
    {
        // Ideally this would work, but it doesn't.
    }

    public function _before(ApiTester $I) 
    {
        $I->am('Api Tester');
    }
    public function somethingThatIWantToExecute(ApiTester $I)
    {
        $I->sendGet('something');
        // etc
    }
}

我可以创建像 setUp 这样的方法,但随后 Codeception 将其作为测试执行,从而在运行测试时输出一些内容。

最佳答案

您不应在 Cest 类中定义 _beforeSuite。相反,您应该使用 _support 内的 Helper 类。

假设您有一个名为 api 的套件,则 _support 中应该有一个 ApiHelper.php 类。在那里,您可以定义您的方法,例如:

<?php
namespace Codeception\Module;

// here you can define custom actions
// all public methods declared in helper class will be available in $I

class ApiHelper extends \Codeception\Module
{
    public function _beforeSuite($I) {
        var_dump($I);
        die();
    }
}

这应该可以解决问题。

关于api - 如何使用 Codeception Hook beforeSuite 事件进行 API 验收测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371431/

相关文章:

php - 元素与 xpath 未找到 codeception

testing - 蓝/绿部署可以用于验收测试吗

report - Codeception设置自定义html报告文件名

php - 代码接收中的扫描输入

testing - 验收测试 - 检查收到的电子邮件

java - 客户端在不接受的情况下连接到 ServerSocket - 为什么?

c# - 给定目录中的 ASP.Net core 1 列表文件

javascript - 更改环回中检索的默认顺序

php - Paypal API : The totals of the cart item amounts do not match order amounts

node.js - Node - 简单的 xml API 请求