如何知道索引返回的内容是否正确?
How to know if what the index is returning is correct?
我目前有这个简单的功能,看看我是否正在访问控制器索引()。
在我的控制器上
public function index(Request $request)
{
$sortOption = $request->input('sortDesc') == 'true' ? 'desc' : 'asc';
$sortField = $request->input('sortBy') == 'null' ? 'name' : $request->input('sortBy');
if (($request->input('filter') != 'null' && $request->input('sortBy') != 'null') ||
($request->input('filter') != 'null' && $request->input('sortBy') == 'null')) {
$carriers = MyModel::orWhere('name', 'like', '%' . $request->input('filter') . '%')
->orWhere('email', 'like', '%' . $request->input('filter') . '%')
->orderBy($sortField, $sortOption)->orderBy('id', 'desc')
->paginate($request->input('size'));
}
if ($request->input('filter') == 'null' && $request->input('sortBy') != 'null') {
$carriers = MyModel::orderBy($sortField, $sortOption)
->orderBy('id', 'desc')
->paginate($request->input('size'));
}
if ($request->input('filter') == 'null' && $request->input('sortBy') == 'null') {
$carriers = MyModel::orderBy('status', 'desc')->orderBy('id', 'desc')
->paginate($request->input('size'));
}
return response()->json($carriers);
}
和路线
Route::resource('/route/controllerRoute', 'MyController')->middleware('checkPermission:permission_index');
和我的测试:
public function testGetListOfExcessCarriers(){
$response = $this->call('POST', 'controllerRoute.index', array(
'shortBy'=>'asc',
'filter'=>'xyz'
));
$response->assertStatus(200);
}
我得到的结果是:
如何查看从该索引请求获得的响应?
我还有这个问题:因为碰巧我正在测试那条路线,但我添加了一条不存在的路线,正如你在那里看到的那样,但结果是成功的。可能是什么?
$this->call('GET', 'eASDÑLKQWQ!!!', array(
'sortBy'=>'asc',
'sortDesc'=>true,
'filter'=>''
))
->assertSuccessful();
看看这个documentation。
例如,您可以断言您在响应中看到了特定文本:
$response->assertSeeText($value);
或者响应包含某个 json 值:
$response->assertJson(array $data, $strict = false);
如果你想查看响应的内容,调试你的断言,你可以使用:
$response->dump();
如文档所述here。
我目前有这个简单的功能,看看我是否正在访问控制器索引()。
在我的控制器上
public function index(Request $request)
{
$sortOption = $request->input('sortDesc') == 'true' ? 'desc' : 'asc';
$sortField = $request->input('sortBy') == 'null' ? 'name' : $request->input('sortBy');
if (($request->input('filter') != 'null' && $request->input('sortBy') != 'null') ||
($request->input('filter') != 'null' && $request->input('sortBy') == 'null')) {
$carriers = MyModel::orWhere('name', 'like', '%' . $request->input('filter') . '%')
->orWhere('email', 'like', '%' . $request->input('filter') . '%')
->orderBy($sortField, $sortOption)->orderBy('id', 'desc')
->paginate($request->input('size'));
}
if ($request->input('filter') == 'null' && $request->input('sortBy') != 'null') {
$carriers = MyModel::orderBy($sortField, $sortOption)
->orderBy('id', 'desc')
->paginate($request->input('size'));
}
if ($request->input('filter') == 'null' && $request->input('sortBy') == 'null') {
$carriers = MyModel::orderBy('status', 'desc')->orderBy('id', 'desc')
->paginate($request->input('size'));
}
return response()->json($carriers);
}
和路线
Route::resource('/route/controllerRoute', 'MyController')->middleware('checkPermission:permission_index');
和我的测试:
public function testGetListOfExcessCarriers(){
$response = $this->call('POST', 'controllerRoute.index', array(
'shortBy'=>'asc',
'filter'=>'xyz'
));
$response->assertStatus(200);
}
我得到的结果是:
如何查看从该索引请求获得的响应?
我还有这个问题:因为碰巧我正在测试那条路线,但我添加了一条不存在的路线,正如你在那里看到的那样,但结果是成功的。可能是什么?
$this->call('GET', 'eASDÑLKQWQ!!!', array(
'sortBy'=>'asc',
'sortDesc'=>true,
'filter'=>''
))
->assertSuccessful();
看看这个documentation。
例如,您可以断言您在响应中看到了特定文本:
$response->assertSeeText($value);
或者响应包含某个 json 值:
$response->assertJson(array $data, $strict = false);
如果你想查看响应的内容,调试你的断言,你可以使用:
$response->dump();
如文档所述here。