Obtengo una estructura JSON de una API y necesito verificar si la respuesta exitosa tiene dos atributos específicos con valores específicos.Cómo probar varias propiedades de un objeto
problemas clave:
- que no puedo comparar la totalidad del objeto, ya que hay algunas propiedades, que pueden variar con cada solicitud
- no puedo escribir dos pruebas (para cada atributo), ya que puede ser se considera una respuesta exitosa solo cuando ambos atributos coinciden con los valores correctos.
Ejemplo respuesta exitosa:
{
'success': true,
'user_ip': '212.20.30.40',
'id': '7629428643'
}
solución sucia sería
<?php
public function testAddAccount() {
$response = $this->api->addAccount('7629428643');
$this->assertTrue(
$response->success === TRUE &&
$response->id === '7629428643'
);
}
Pero creo que debe ser mejor y más limpia solución, ¿verdad?
Eso se ve bastante limpio para mí. – Matt
Esa solución solo puede decirle que la prueba falla, pero no le puede decir qué es exactamente lo que falla, por eso la considero "sucia". –