3

我正在尝试在我的 CakePHP 3.x 插件中导入固定装置。当我启动测试时,我总是得到错误:

UserManager\Test\TestCase\Controller\UsersControllerTest::testProfile 异常 'Cake\Datasource\Exception\RecordNotFoundException' 并带有消息 'Record not found in table "users"

这是 UsersFixture.php :

namespace UserManager\Test\Fixture;
use Cake\TestSuite\Fixture\TestFixture;

class UsersFixture extends TestFixture {
    public $import = ['table' => 'users'];
}

我的测试失败,因为它在测试数据库中找不到当前用户。

我认为用户表创建成功,但没有导入数据。

当然,我现有的users表中记录了很多用户,被测试的用户id就是这些记录之一。

我的 testIndex() 方法也失败了,因为记录数总是等于 0。

为什么夹具表不包含我的记录?

4

2 回答 2

9

您当然可以在 cake 3 中导入记录。

从蛋糕烘焙bin/cake bake fixture invoice_statuses -r --count 100 中,您每次对桌子进行更改时都需要重新生成它,但总比没有好。给你一个很好的起点。

您还可以使用条件来生成非常具体的夹具。

在此处输入图像描述

于 2015-11-18T19:59:34.503 回答
4

不幸的是,我认为您的代码没有任何问题。从我所见,CakePHP 3.x不再支持在夹具中导入表条目,只支持表结构。

(见文档差异:2.x:导入表信息和记录,3.x:导入表信息

我认为没有办法解决它,除非您直接修改 CakePHP 3.x 核心。

于 2015-06-01T07:08:35.107 回答