找不到Yii2 codeception数据文件装置

找不到Yii2 codeception数据文件装置,yii2,codeception,Yii2,Codeception,我试图运行简单的测试,并通过fixture数据文件在数据库中插入两条记录。 我得到的是: [ReflectionException] Class C:\xampp\htdocs\codeception\frontend\tests/_data\user.php does not exist 文件显然在那里。My UserTest.php如下所示: <?php class UserTest extends \Codeception\Test\Unit { public funct

我试图运行简单的测试,并通过fixture数据文件在数据库中插入两条记录。 我得到的是:

[ReflectionException] Class C:\xampp\htdocs\codeception\frontend\tests/_data\user.php does not exist
文件显然在那里。My 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']);
    }
}
$this->tester->seeRecord(\frontend\models\User::class, ['name' => 'Toma']);
我在错误中看到了类似linux的正斜杠,但不知道如何更改它。不确定这是否是问题所在,因为我在一些图像上有相同的路径,当时还可以。这是什么原因造成的?谢谢大家!

你用错了。第一个参数需要按类名(包括名称空间)排序,所以您应该像这样使用它:

<?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']);
    }
}
$this->tester->seeRecord(\frontend\models\User::class, ['name' => 'Toma']);

哦非常感谢。我想我没有读对:如果这是全部问题,我会稍后再试,并会给出反馈。