CakePHP 3.x - fixtures导入不加载数据

iam*_*loc 2 php unit-testing cakephp fixture cakephp-3.0

我想在我的CakePHP 3.x插件中导入fixture.当我启动测试时,我总是得到错误:

UserManager\Test\TestCase\Controller\UsersControllerTest :: testProfile异常'Cake\Datasource\Exception\RecordNotFoundException',消息'在表中找不到记录'用户"

这是UsersFixture.php:

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

class UsersFixture extends TestFixture {
    public $import = ['table' => 'users'];
}
Run Code Online (Sandbox Code Playgroud)

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

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

当然,许多用户都记录在我现有的用户表中,测试的用户ID是这些记录之一.

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

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

sty*_*yks 8

你当然可以在蛋糕3中导入记录.

从蛋糕烘焙bin/cake bake fixture invoice_statuses -r --count 100 你需要每次更改表时重新生成它,但它总比没有好.给你一个很好的起点.

您还可以使用条件生成非常具体的灯具.

在此输入图像描述