laravel测试错误,没有这样的文件或目录

时间:2018-03-03 13:23:38

标签: laravel unit-testing laravel-5 phpunit

我试图在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可以正常工作,没有错误。

1 个答案:

答案 0 :(得分:0)

您对phpunit.xml进行了哪些更改?听起来我的测试环境正在寻找一个不存在的数据库。