在测试期间,路由中间件从不存在的表中进行选择,导致迁移失败

时间:2018-06-25 11:44:35

标签: laravel laravel-5 database-migration laravel-5.5

由于无法在迁移期间(甚至在迁移开始之前)从表中查询路由中间件,因此迁移无法进行,因此我无法运行测试。

我尝试用->withoutMiddleware()->withoutMiddleware(ThatMiddleware::class)进行测试,但没有成功。

所以我当前的解决方法如下。在有问题的中间件中,我这样做:

class ThatMiddleware extends ServiceProvider {
    public function boot() {
        if(Schema::hasTable('table_in_question')) {
            // ... code that queries the table
        }
    }
}

但是这似乎有点不安全,特别是考虑到中间件用于身份验证。 我不确定这个错误是由于中间件或测试写得不好造成的。

有没有更好的方法来解决此问题?

0 个答案:

没有答案