Class yii\test\InitDbFixture
InitDbFixture 用于数据库相关的测试状态初始化相关的需求。
它的主要任务是在数据加载时,关闭数据库完整性校验。类似这种功能通常被其他数据库相关的夹具所需要(例如: yii\test\ActiveFixture ), 这样其他夹具在填入数据到数据库时,不会触发完整性校验错误。
另外,DbFixture 会尝试加载 初始化脚本 ,如果这个属性有被设置的话。
您通常应该使用 InitDbFixture 来准备一个骨架测试数据库。然后,其他 DB fixture 将向该数据库添加特定的表和数据。
有关 InitDbFixture 的更多细节和使用信息,请参阅 guide article on fixtures
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$db | yii\db\Connection|array|string | 数据库对象,或者Yii应用数据库连接组件ID。 在 DbFixture 创建之后,如果你想改变这个属性,你应该将一个 DB 连接对象赋值给它。 从 2. | yii\test\DbFixture |
$depends | array | 这个夹具依赖的夹具类。这个属性必须是一个依赖夹具类名列表。 | yii\test\Fixture |
$initScript | string | 加载夹具时需要执行的初始化脚本文件。 这个属性可以是一个文件路径或者 path alias。注意,如果文件不存在,不会产生任何错误。 | yii\test\InitDbFixture |
$schemas | array | 测试表所依赖的数据库模式列表。默认是 [''] ,意味着使用默认的模式。(一个空字符串指代默认模式)。
这个属性的作用在于开关完整性校验,这样夹具数据填入数据库时就不会触发错误。 |
yii\test\InitDbFixture |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
afterLoad() | 这个方法会在当前测试用例的所有夹具数据都会被加载后调用。 | yii\test\InitDbFixture |
afterUnload() | 这个方法会在当前测试的所有的夹具数据都被卸载后调用。 | yii\test\InitDbFixture |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
beforeLoad() | 这个方法会在当前测试用例的夹具数据被加载前调用。 | yii\test\InitDbFixture |
beforeUnload() | 这个方法会在当前测试的任意夹具数据被卸载前调用。 | yii\test\InitDbFixture |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
checkIntegrity() | 开关数据库完整性校验。 | yii\test\InitDbFixture |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the object. | yii\test\DbFixture |
load() | 加载夹具。 这个方法会在执行每个测试方法之前调用。 你需要用具体实现重写这个方法来初始化夹具。 | yii\test\InitDbFixture |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
trigger() | Triggers an event. | yii\base\Component |
unload() | 卸载夹具。 这个方法会在每个测试方法结束时调用。 你可以重写这个方法以执行一些夹具必要的清理工作。 | yii\test\Fixture |
属性详情
加载夹具时需要执行的初始化脚本文件。 这个属性可以是一个文件路径或者 path alias。注意,如果文件不存在,不会产生任何错误。
测试表所依赖的数据库模式列表。默认是 ['']
,意味着使用默认的模式。(一个空字符串指代默认模式)。
这个属性的作用在于开关完整性校验,这样夹具数据填入数据库时就不会触发错误。
方法详情
这个方法会在当前测试用例的所有夹具数据都会被加载后调用。
public void afterLoad() |
这个方法会在当前测试的所有的夹具数据都被卸载后调用。
public void afterUnload() |
这个方法会在当前测试用例的夹具数据被加载前调用。
public void beforeLoad() |
这个方法会在当前测试的任意夹具数据被卸载前调用。
public void beforeUnload() |
开关数据库完整性校验。
public void checkIntegrity($check) | ||
$check | boolean | 是否开启关闭完整性校验。 |
加载夹具。 这个方法会在执行每个测试方法之前调用。 你需要用具体实现重写这个方法来初始化夹具。
public void load() |