【发布时间】:2018-08-11 13:58:39
【问题描述】:
我正在尝试在 laravel 中创建我的第一个测试。
$random = str_random(12);
$payload = [
'name' => $random,
'email' => $random .'@www.com',
'password' => '123456',
];
$this->json('post', '/api/v1/register', $payload)
->assertStatus(200);
从此 url /api/v1/register 调用的方法包含:
$rules = User::rules();
$validation = \Validator::make( $this->input, $rules );
if ( $validation->fails() ) {
return true;
}else return true;
当我运行测试时,它会给出响应状态 500。
当我在这一行上方写 (echo 1;) 时: if ( $validation->fails() ) { 它输出 (1 ) 加上 500 状态响应
如果我在同一行下面写echo 1;,则没有任何输出,因此该行是产生错误的行。
我检查 laravel 日志文件,这是错误:
[2018-03-03 12:55:07] testing.ERROR: SQLSTATE[HY000] [2002] 没有这个 文件或目录 {"exception":"[object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] 没有这样的文件或目录 /opt/lampp/htdocs/ws/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:67)
注意:从浏览器或其他客户端调用相同的 URL 可以正常工作,没有错误。
【问题讨论】:
标签: laravel unit-testing laravel-5 phpunit