es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pruebas de Laravel: establecer cuerpo en solicitud.

Tengo una API que utiliza $request->getContent(); para obtener el cuerpo (que es JSON) y quiero escribir algunas pruebas de características para probar este endpoint, pero no puedo encontrar una manera de establecer el cuerpo en una prueba de características de Laravel:

public function testSuccessfullyProcessed()
{
    $json = '<json>';

    $response = $this->get('/api/process');

    $response->assertStatus(200);
}

No hay algo como $this->setBody o $this->setContent según Visual Studio Code. He buscado entre los métodos de $this y no puedo encontrar un método para hacer esto.

He pasado algún tiempo buscando varias cosas, pero solo encuentro información sobre cómo obtener el cuerpo.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para establecer el cuerpo de una prueba de característica de Laravel, se puede utilizar el método json proporcionado por la clase TestResponse de Laravel. Este método te permite establecer el contenido de la respuesta como una cadena JSON.

    Ejemplo:

    public function testSuccessfullyProcessed()
    {
        $requestData = ['key' => 'value'];
        $response = $this->json('POST', '/api/process', $requestData);
        $response->assertStatus(200);
    }
    

    En el ejemplo anterior, estamos estableciendo el cuerpo de la solicitud a ['key' => 'value'] utilizando el método json. Esto enviará una solicitud POST al punto final /api/process con el cuerpo JSON.

    ¡Espero que esto ayude!

Comments are closed.