elstc/codeception-cakefixture

CakePHP 测试用例加载器 for Codeception

v1.1.0 2018-03-05 02:39 UTC

This package is auto-updated.

Last update: 2024-08-29 04:41:33 UTC


README

Software License Build Status Latest Stable Version

此 Codeception 模块可以加载 CakePHP 测试用例 到你的测试用例中。

安装

你可以使用 composer 将此插件安装到你的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require --dev elstc/codeception-cakefixture

然后在你的测试套件配置文件中启用此模块(例如: acceptance.suite.ymlfunctional.suite.yml 等)

modules:
    enabled:
        - CakeFixture

参见:06-ModulesAndHelpers - Codeception - 文档

如果你还没有在 Codeception 启动文件中读取 CakePHP 启动文件,那么请加载它

<?php
// your tests/_bootstrap.php

require_once '__YOUR_CAKEPHP_CONFIG_PATH__/bootstrap.php';

使用方法

Cest

在你的 Cest 测试用例中,编写 $fixtures 属性

class AwesomeCest
{
    public $fixtures = [
        'app.users',
        'app.posts',
    ];

    // ...
}

你可以使用 $autoFixtures$dropTables 属性和 loadFixtures() 方法

class AwesomeCest
{
    public $autoFixtures = false;
    public $dropTables = false;
    public $fixtures = [
        'app.users',
        'app.posts',
    ];

    public function tryYourSenario($I)
    {
        // load fixtures manually
        $I->loadFixtures('Users', 'Posts');
        // or load all fixtures
        $I->loadFixtures();
        // ...
    }
}

Cept

在你的 Cept 测试用例中,使用 $I->useFixtures()$I->loadFixtures()

$I = new FunctionalTester($scenario);

// You should call `useFixtures` before `loadFixtures`
$I->useFixtures('app.users', 'app.posts');
// Then load fixtures manually
$I->loadFixtures('Users', 'Posts');
// or load all fixtures
$I->loadFixtures();

配置选项

debug

传递给 FixtureManager 的 debug 选项。

默认: false

autoFixtures

默认 $autoFixtures 属性。

默认: true

dropTables

默认 $dropTables 属性。

默认: true