我是Laravel测试的新手,我在Laravel 8中工作,我想测试的函数是:
当我运行测试时,我得到了这个错误:
1) TestsUnitappTestHttpTestControllersTestOrderControllerTest::testStore
Invalid JSON was returned from the route.
谢谢你的帮助!
您有两个场景
- 在您的控制器中,您可以
return response()->json([
'order' => $newOrder,
'status' => ($request->doValidate) ? 'pend' : 'draft'
]);
并且您的测试用例将是相同的
- 在控制器中,您可以
return response()->json($newOrder);
// or
return $newOrder;
在您的测试用例中,您将执行
public function testStore()
{
Sanctum::actingAs($this->user, ['*']);
$response = $this->postJson(action('OrderController@store'), [
'doAssigned' => false,
'doValidate' => false,
]);
$response->assertJsonFragment([
'status' => 'draft'
]);
}