显然在这里可以忽略一些东西,但是我在测试最近添加了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组件中使用它来处理它,但是必须对其进行明显定义。有提示吗?