用sqlite测试Laravel Dusk会丢失文件繁忙异常

时间:2017-10-10 08:52:24

标签: sqlite unit-testing laravel-5.5 laravel-dusk

尝试写一个laravel黄昏登录(使用sqlite)测试,但我仍然得到了

 Tests\Browser\LoginTest::employee_can_login
ErrorException: unlink(/var/www/laravel/database/database.sqlite): Text file busy

我的测试看起来像

   /** @test research analyst login **/
    public function employee_can_login()
    {
        $user = factory(User::class)->create([
            'email' => 'login@gmail.com',
            'password' => bcrypt('password'),
        ]);

        $this->browse(function (Browser $browser) use ($user) {
            $browser->visit(new Login())
                ->type('email', 'login@gmail.com')
                ->type('password', 'password')
                ->press('Login')
                ->assertSee('Dashboard')
                ->assertSee('You are logged in!')
                ->assertSee($user->name);
        });
    }

在迁移时创建了sqlite表,

这意味着我该如何解决此错误?

1 个答案:

答案 0 :(得分:0)

正如在类似线程中所回答的那样,这是虚拟机的常见问题(至少对我而言)。您可以尝试不共享此文件(因此最好将此文件移动到非共享目录)或解决此临时问题,您需要重新启动虚拟机才能使其正常工作。