Освоение Laravel Pest: подтверждение кодов состояния HTTP стало проще

В мире тестирования Laravel Laravel Pest стал мощной и интуитивно понятной средой тестирования. Одним из ключевых аспектов тестирования веб-приложений является утверждение кодов состояния HTTP. В этой статье мы рассмотрим различные методы, предоставляемые Laravel Pest для эффективного подтверждения кодов состояния HTTP. Итак, пристегнитесь и давайте окунемся в мир Laravel Pest и AssertStatus!

Метод 1: базовое утверждение
Метод AssertStatus — это самый простой способ подтвердить код состояния HTTP. Он принимает единственный аргумент — ожидаемый код состояния — и проверяет, соответствует ли ему ответ. Вот пример:

it('should return a 200 OK status code', function () {
    $response = $this->get('/api/users');
    $response->assertStatus(200);
});

Метод 2: цепочки утверждений
Laravel Pest позволяет объединять несколько методов утверждений вместе для более выразительных утверждений. Например, вы можете комбинировать AssertStatus с другими утверждениями, такими как AssertJson или AssertSee, для выполнения более глубокой проверки. Вот пример:

it('should return a 200 OK status code and valid JSON', function () {
    $response = $this->get('/api/users');
    $response->assertStatus(200)
             ->assertJson(['name' => 'John Doe']);
});

Метод 3: утверждение нескольких кодов состояния
Иногда вам может потребоваться подтвердить несколько кодов состояния. В таких случаях вы можете использовать метод AssertStatus с массивом ожидаемых кодов состояния. Вот пример:

it('should return a 200 or 201 status code', function () {
    $response = $this->get('/api/users');
    $response->assertStatus([200, 201]);
});

Метод 4: отрицание утверждений
Laravel Pest также предоставляет методы отрицания утверждений, позволяющие утверждать, что определенное условие не выполнено. Вы можете использовать AssertStatus, чтобы подтвердить, что определенный код состояния не возвращается. Вот пример:

it('should not return a 404 Not Found status code', function () {
    $response = $this->get('/api/users');
    $response->assertStatus(200)
             ->assertStatus(404)->negate();
});

Laravel Pest упрощает утверждение кодов состояния HTTP в ваших приложениях Laravel. В этой статье мы рассмотрели некоторые ключевые методы, предоставляемые Laravel Pest, включая базовый AssertStatus, цепочки утверждений, утверждение нескольких кодов состояния и отрицание утверждений. Имея в своем распоряжении эти методы, вы можете уверенно тестировать и проверять поведение своих веб-приложений. Приятного тестирования!