camspiers/silverstripe-fixturegenerator

允许从现有的DataObjects中生成SilverStripe单元测试用例,无论是通过程序创建的还是来自数据库的

0.1.7 2014-08-14 10:36 UTC

This package is auto-updated.

Last update: 2024-09-19 13:53:08 UTC


README

构建状态针对2.2和3.0

允许从现有的DataObjects中生成SilverStripe单元测试用例,无论是通过程序创建的还是来自数据库的。

为单元测试创建固定文件是最繁琐的,这个库的目标是减轻一些痛苦。

安装(使用composer)

$ composer require camspiers/silverstripe-fixturegenerator:~0.1

使用方法

允许所有关系的情况下的示例

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    )
))->process($records);

允许某些关系的情况下的示例

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    ),
    array(
        'MyDataObject.SomeHasOneRelation',
        'MyDataObject.SomeHasManyRelation'
    )
))->process($records);

排除某些关系的情况下的示例

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    ),
    array(
        'MyDataObject.SomeHasOneRelation',
        'MyDataObject.SomeHasManyRelation'
    ),
    FixtureGenerator\Generator::RELATION_MODE_EXCLUDE
))->process($records);

单元测试

$ composer install --dev
$ phpunit