我正在尝试运行简单的测试,并通过夹具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像正斜杠一样,但是不知道如何更改它。不确定这是否是问题所在,因为我在处理某些图像时使用了相同的路径,然后就可以了。是什么原因造成的?谢谢!
答案 0 :(得分:1)
您以错误的方式使用seeRecord()
。第一个参数需要按类名称(包括名称空间)进行命名,因此您应像这样使用它:
$this->tester->seeRecord(\frontend\models\User::class, ['name' => 'Toma']);