visavi / codeception-phpixie

Codeception 的 Phpixie 模块

v1.2.0 2018-10-22 09:59 UTC

This package is auto-updated.

Last update: 2024-09-24 06:01:15 UTC


README

安装

您可以通过 composer 安装此包

composer require visavi/codeception-phpixie

设置

tests/functional.suite 文件中包含 phpixie 模块

actor: FunctionalTester
modules:
    enabled:
        - Phpixie:
            url: 'https://'
        - \Helper\Functional

在验收测试中,您可以使用方法来操作功能测试数据库。

为此,您必须在 tests/acceptance.suite 文件中启用该模块

actor: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: https://
        - Phpixie:
            part: ORM
        - \Helper\Acceptance

之后,将有7个方法可用于与数据库交互。

与数据库交互的方法

所有方法都在事务中工作,这意味着测试完成后,数据库将恢复到原始状态

将记录插入到数据库中
$user = $I->haveRecord('user', ['name' => 'phpixie']);
检查记录是否存在于数据库中。
$I->seeRecord('user', ['name' => 'phpixie']);
检查记录是否不存在于数据库中。
$I->dontSeeRecord('user', ['name' => 'trixie']);
从数据库中检索记录。
$record = $I->grabRecord('user', ['name' => 'phpixie']);
从数据库中删除记录。
$I->deleteRecord('user', ['id' => $user->id]);

事务控制方法不考虑全局事务启用设置,如果您已默认启用事务,则可以为每个方法关闭它们

相反,如果全局禁用事务(cleanup: false),则方法可以强制启用事务。

$I->startTransaction();
$I->stopTransaction();

调用方法

为功能测试和验收测试调用方法

$I->methodName();

为单元测试调用方法

$this->tester->methodName();

示例

$data = [
    'login'    => 'phpixie',
    'password' => 'password',
    'name'     => 'trixie',
];

$entity = $I->haveRecord('user', $data);

$I->seeRecord('user', ['id' => $entity->id]);

$I->wantTo('Test user page');
$I->amOnPage('/user/' . $entity->login);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
$I->seeInSource('trixie');

许可证

该类是开源软件,根据 MIT 许可证 许可