在测试中禁用ViewComposer

时间:2018-09-20 11:54:13

标签: php laravel-5 phpunit laravel-5.6 mockery

显然在这里可以忽略一些东西,但是我在测试最近添加了ViewComposer的应用程序时遇到了困难。该应用程序处于早期阶段,因此它没有很多代码和东西。

我做了什么:我创建了一个ViewComposer,它将为我获取模型的记录。

class SomeViewComposer
{
    public function compose(View $view)
    {
        $view->with('modelThingy', Model::inRandomOrder()->first());
    }
}

我已在服务提供商处注册

class ViewComposerProvider extends ServiceProvider
{
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        View::composer(
            'website.layouts.master', 'App\Http\ViewComposers\SomeViewComposer'
        );
    }
}

这一切都很好,并且可以与我的其他测试一起使用,但这是因为它们使用特质DatabaseMigrations。但是对于我的新测试,我不需要(因此也想要)DatabaseMigrations特征。但是现在,我的测试失败了,因为它找不到该模型的表(显然是因为没有运行任何迁移)。

问题是,去这里的路是什么?我应该嘲笑Model::inRandomOrder()->first()方法吗?我应该模拟整个SomeViewComposer吗? modelThingy在视图中可能为空,我在Vue组件中使用它来处理它,但是必须对其进行明显定义。有提示吗?

0 个答案:

没有答案