Yii2编码接收数据找不到文件固定装置

时间:2018-07-12 19:44:25

标签: yii2 codeception

我正在尝试运行简单的测试,并通过夹具dataFile在db中插入两个记录。 我得到的是:

[ReflectionException] Class C:\xampp\htdocs\codeception\frontend\tests/_data\user.php does not exist

文件显然在那里。我的UserTest.php看起来像这样:

<?php

class UserTest extends \Codeception\Test\Unit
{
    public function _fixtures()
    {
        return [
            'class' => \frontend\tests\fixtures\UserFixture::className(),
            'dataFile' => codecept_data_dir() . 'user.php'
        ];
    }

    public function testValidation()
    {
        $user = new \common\models\User();

        $user->setUsername(null);
        $this->assertFalse($user->validate(['username']));

        $user->setUsername('aaaaaaaaaaaaaaaaaaaaaaaaaa');
        $this->assertFalse($user->validate(['username']));

        $user->setUsername('toma');
        $this->assertTrue($user->validate(['username']));
    }

    public function testIfUserExist()
    {
        $this->tester->seeRecord('user', ['name' => 'Toma']);
    }
}

我在错误中看到Linux像正斜杠一样,但是不知道如何更改它。不确定这是否是问题所在,因为我在处理某些图像时使用了相同的路径,然后就可以了。是什么原因造成的?谢谢!

1 个答案:

答案 0 :(得分:1)

您以错误的方式使用seeRecord()。第一个参数需要按类名称(包括名称空间)进行命名,因此您应像这样使用它:

$this->tester->seeRecord(\frontend\models\User::class, ['name' => 'Toma']);