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

问题描述 投票:2回答:1

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

laravel unit-testing laravel-5 phpunit
1个回答
0
投票

你有没有对你的phpunit.xml做出任何改变?听起来像你的测试环境正在寻找一个不存在的数据库。

© www.soinside.com 2019 - 2024. All rights reserved.