Questa classe di wrapper è troppo semplice da testare?

0

Ho una classe seguente nel mio codice PHP:

<?php
declare(strict_types=1);

use function Http\Response\send;
use Psr\Http\Message\ResponseInterface;

class ResponseSender implements ResponseSenderInterface {
    public function __invoke(ResponseInterface $response) : void {
        send($response);
    }
}

L'interfaccia consente ad altri codici di cambiare il modo in cui devono "inviare una risposta HTTP", e questa classe lega semplicemente un'implementazione di terze parti a tale interfaccia.

Questa classe è troppo semplice da testare?

    
posta Michael Tsang 15.11.2018 - 10:32
fonte

1 risposta

1

È troppo semplice per il test dell'unità. Ma dovresti avere ancora test di integrazione.

Presumibilmente il dosatore di terze parti implementa l'interfaccia, quindi hai bisogno di questa interfaccia di wrapping per essere in grado di sostituirla con una simulazione nei test delle tue unità.

Quindi, se provi a testare l'unità, hai bisogno di un'altra interfaccia e ti trovi in una situazione in cui i suoi "interfaves fino in fondo"

Se si effettua un test di integrazione, cosa che si dovrebbe fare, in realtà mette in discussione ciò che i test unitari delle classi consumatrici stanno testando. Perché non solo l'integrazione li prova? Perché non separare la loro logica in un modo diverso?

Vorrei rinunciare a questa interfaccia e semplicemente integrare testare un client http per un servizio contro un server http di test.

    
risposta data 15.11.2018 - 13:23
fonte

Leggi altre domande sui tag