我试图在laravel中创建我的第一个测试。
$random = str_random(12);
$payload = [
'name' => $random,
'email' => $random .'@www.com',
'password' => '123456',
];
$this->json('post', '/api/v1/register', $payload)
->assertStatus(200);
从此网址/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-> failed()){ 它输出(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可以正常工作,没有错误。
答案 0 :(得分:0)
您对phpunit.xml
进行了哪些更改?听起来我的测试环境正在寻找一个不存在的数据库。