Я хочу написать тест для создания пользователя, а затем проверить, отображается ли пользователь в коллекции индексов API пользователя с использованием маршрута.
Я прочитал документацию при написании тестов API REST с помощью Laravel и PHPUnit.Я с трудом заставляю проходить assertJson
, так как он возвращает следующую ошибку:
Failed asserting that an array has the subset Array &0 (
'name' => 'Buck Trantow V'
'email' => 'marianne.leffler@example.org'
'username' => 'hhudson'
).
--- Expected
+++ Actual
@@ @@
array (
),
),
- 'name' => 'Buck Trantow V',
- 'email' => 'marianne.leffler@example.org',
- 'username' => 'hhudson',
)
Test:
public function testUserIndex()
{
$user = factory(User::class)->create();
$response = $this
->actingAs($user, 'api')
->json('GET', '/api/users')
->assertStatus(200);
$response
->assertJson([
'name' => $user->name,
'email' => $user->email,
'username' => $user->username,
]);
}
Route / User Controller:
Route::resource('users', 'UserController');
UserController:
public function index()
{
return User::all();
}