在单元测试中创建自动化测试时。我收到了这个错误。
我的代码在单元测试中
function testSavingUser()
{
$user = new User();
$user->auth_key='value';
$user->password_hash='value';
$user->password_reset_token='value';
$user->email='value';
$user->status=1;
$user->first_name='value';
$user->last_name='value';
$user->image='value';
$user->role_id=1;
$user->created_date='2016-08-31 16:57:10';
$user->updated_date='2016-08-31 16:57:10';
$user->save();
$this->assertEquals('Miles Davis', $user->getFullName());
$this->tester->seeInDatabase('users', ['name' => 'Miles', 'surname' => 'Davis']);
}
这是我的配置文件
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/web.php'),
//require(__DIR__ . '/main-local.php'),
[
'id' => 'app-tests',
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=' . getenv('DB_HOST'). ';dbname=' . getenv('DB_NAME'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
],
]
]
);
return $config;
在functional.suite.yml
中class_name: FunctionalTester
modules:
enabled:
- Yii2:
configFile: 'config/test.php'
当尝试使用codecept运行执行我的测试时,它会显示如下错误
[yii \ db \ Exception] SQLSTATE [28000] [1045]拒绝用户访问' @' localhost' (使用密码:否)
答案 0 :(得分:1)
可能的错误原因:
getenv
调用无法正确访问或提取环境变量。检查键是否正确并确保返回正确的值(您可以使用var_dump
之类的内容。)