使用codeception的单元测试中的验证数据库内容时
我的codeception当前
版本
class="js">
"require-dev":{
"codeception/codeception":"2.3.4"
},
例如
$this->tester->seeInDatabase("bb_users",['nickname'=>'哈哈']);
先插入数据,再执行上面这样的语句,可能会断言
错误,因为中
文乱码了。
hack方法:
进入源代码:
vendor\codeception\codeception\src\Codeception\Lib\Driver\Db.php
大约72行
修改成
public function __construct($dsn, $user, $password)
{
$this->dbh = new \PDO($dsn, $user, $password,
[\PDO::MYSQL_ATTR_INIT_COMMAND=> "SET NAMES 'utf8'"]);
$this->dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$this->dsn = $dsn;
$this->user = $user;
$this->password = $password;
}
其实就给pdo加了一个参数。