我的codeception当前版本
"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加了一个参数。