【发布时间】:2019-09-16 08:24:42
【问题描述】:
运行测试时出现此错误:
ModelNotFoundException: 没有模型 [App\Content] 的查询结果
这是我的测试:
/** @test */
public function it_loads_homepage()
{
$this->withoutExceptionHandling();
$response = $this->get('/');
$response->assertStatus(200);
}
这是我的控制器:
public function home()
{
$topbar = Content::where('slug', 'topbar')->firstOrFail();
return view('welcome')->with([
'logo' => Arr::get($topbar->content, 'logo', asset('images/logo.png')),
'quote' => Arr::get($topbar->content, 'quote'),
'quote_author' => Arr::get($topbar->content, 'quote_author')
]);
}
这是我的路线文件:
Route::get('/', 'PageController@home');
Route::post('/admin/content', 'ContentsController@store');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::middleware('auth')->prefix('admin')->group(function () {
Route::get('/dashboard', 'DashboardsController@index');
Route::patch('/contents/{content}', 'ContentsController@update');
});
如果有人对如何提供帮助有任何想法,将不胜感激,谢谢!
附:如果我需要包含其他任何内容,请告诉我谢谢!
【问题讨论】:
-
Content::where('slug', 'topbar')->firstOrFail();or fail 部分正在抛出异常。确保测试时记录存在。 -
是的,测试只是确保页面加载返回 200 状态代码。我已验证该记录确实存在。
标签: php mysql laravel laravel-artisan