没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Trait yii\test\FixtureTrait

实现yii\console\controllers\FixtureController
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/test/FixtureTrait.php

FixtureTrait 提供一系列用于加载,卸载和访问测试用例中的夹具的函数能力。

通过使用 FixtureTrait ,一个测试类可以通过改写 fixtures() 方法来指定哪些夹具被加载。然后,可以通过使用 loadFixtures()unloadFixtures() 方法来加载卸载夹具。当一个夹具被加载后,因为 PHP __get() 魔术方法的缘故,它可以以一个对象属性的方式被访问。 同样,如果夹具是 yii\test\ActiveFixture 的实例,你可以通过 $this->fixtureName('model name') 类似的语法访问一个 AR 模型。

关于 FixtureTrait 更多的使用详情,参考 guide article on fixtures

公共方法

隐藏继承的方法

方法描述被定义在
fixtures() 声明当前测试用例需要的夹具。 yii\test\FixtureTrait
getFixture() 方法指定的夹具。 yii\test\FixtureTrait
getFixtures() 返回 globalFixtures()fixtures() 指定的夹具对象。 yii\test\FixtureTrait
globalFixtures() 声明被所有测试用例都需要的共享夹具。 它的返回值类似 fixtures()。 你应该在基类中重写这个方法。 yii\test\FixtureTrait
initFixtures() 初始化夹具 yii\test\FixtureTrait
loadFixtures() 加载特定的夹具。 yii\test\FixtureTrait
unloadFixtures() 卸载指定的夹具。 这个方法将会调用每个夹具对象的 yii\test\Fixture::unload() 方法。 yii\test\FixtureTrait

受保护的方法

隐藏继承的方法

方法描述被定义在
createFixtures() 创建指定的夹具实例。 所有的依赖夹具也会被创建。 yii\test\FixtureTrait

方法详情

createFixtures() 受保护 方法

创建指定的夹具实例。 所有的依赖夹具也会被创建。

protected yii\test\Fixture[] createFixtures(array $fixtures)
$fixtures array

将要被创建的夹具。你可以提供夹具名称或者夹具配置数组。 如果未提供这个参数,那么 globalFixtures()fixtures() 中指定的夹具将会被创建。

return yii\test\Fixture[]

创建的夹具实例。

throws yii\base\InvalidConfigException

如果夹具没有正确的配置,或者检测到循环依赖。

fixtures() 公共 方法

声明当前测试用例需要的夹具。

这个方法的返回值必须是夹具配置数组,例如:

[
    // anonymous fixture
    PostFixture::className(),
    // "users" fixture
    'users' => UserFixture::className(),
    // "cache" fixture with configuration
    'cache' => [
         'class' => CacheFixture::className(),
         'host' => 'xxx',
    ],
]

注意:一个测试用例实际使用的夹具包括 globalFixtures()fixtures() 中声明的夹具。

public array fixtures()
return array

当前测试用例需要的夹具。

getFixture() 公共 方法

方法指定的夹具。

public yii\test\Fixture getFixture($name)
$name string

夹具名称。可以是夹具别名,如果没有使用的话,也可以是类名。

return yii\test\Fixture

夹具对象,如果指定的对象不存在,返回null。

getFixtures() 公共 方法

返回 globalFixtures()fixtures() 指定的夹具对象。

public yii\test\Fixture[] getFixtures()
return yii\test\Fixture[]

当前测试用例加载的夹具对象。

globalFixtures() 公共 方法

声明被所有测试用例都需要的共享夹具。 它的返回值类似 fixtures()。 你应该在基类中重写这个方法。

参见 fixtures().

public array globalFixtures()
return array

不同的测试用例所共享的夹具。

initFixtures() 公共 方法 (自版本 2.0.12 可用)

初始化夹具

public void initFixtures()
loadFixtures() 公共 方法

加载特定的夹具。

这个方法会调用每个夹具对象的 yii\test\Fixture::load() 方法。

public void loadFixtures($fixtures null)
$fixtures yii\test\Fixture[]

被加载的夹具。如果这个参数未指定,将会默认使用 getFixtures() 的返回值。

unloadFixtures() 公共 方法

卸载指定的夹具。 这个方法将会调用每个夹具对象的 yii\test\Fixture::unload() 方法。

public void unloadFixtures($fixtures null)
$fixtures yii\test\Fixture[]

将被卸载的夹具。如果这个参数未指定,将会默认使用 getFixtures() 的返回值。