yii2中fixture和dataprovider之间的区别

时间:2017-05-03 16:24:13

标签: php yii2 codeception

dataProvider和fixture之间有什么区别,我知道它们都为它们的测试功能提供了参数。

2 个答案:

答案 0 :(得分:2)

正如你在Yii2指南中看到的那样

  

数据提供者是一个实现的类   警予\ DATA \ DataProviderInterface。它主要支持检索数据a   一种对应用程序有用的方法,例如..paginated和排序数据。   因此经常用于提供适当的内容   数据小部件

     

灯具是测试的重要部分。

     

Yii提供了一个夹具框架,允许您定义您的   精确固定并轻松使用它们。

     

在yii中,你有一个所谓的夹具对象。夹具对象   代表测试环境的一个特定方面,是一个   yii \ test \ Fixture或其子类的实例。

     

夹具框架的一部分是一个夹具数据   ActiveFixture fixture通常在位于的文件中提供   FixturePath /数据/ TableName.php

因此dataPropvider是用于访问实际应用程序数据的应用程序对象 fixture是使用fixture数据测试应用程序的测试组件

你可以在

中做出更好的解释

http://www.yiiframework.com/doc-2.0/guide-test-fixtures.html http://www.yiiframework.com/doc-2.0/guide-output-data-providers.html

答案 1 :(得分:1)

我相信答案是不正确的,因为数据提供者部分被弄乱了。

数据提供程序功能从PHPUnit进入Codeception(Codeception建立在其之上)。

Fixture定义了数据库记录,该记录将在测试执行期间在数据库中可用。测试完成后,夹具将全部清除。

数据提供程序为测试(实际执行测试的方法)定义输入或数据集(从函数参数的角度而言)。数据提供程序是一种返回数组的方法,其中每个键代表测试方法的一个参数。

在测试文档块中使用声明@dataProvider批注的数据提供者。