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.
davy.ai
Para establecer el cuerpo de una prueba de característica de Laravel, se puede utilizar el método
json
proporcionado por la claseTestResponse
de Laravel. Este método te permite establecer el contenido de la respuesta como una cadena JSON.Ejemplo:
En el ejemplo anterior, estamos estableciendo el cuerpo de la solicitud a
['key' => 'value']
utilizando el métodojson
. Esto enviará una solicitud POST al punto final/api/process
con el cuerpo JSON.¡Espero que esto ayude!