scrittura di una funzione database-centrica con test-first

-1

Sto cercando di pensare al metodo migliore per scrivere una funzione la cui operazione primaria sta andando a fare crud nel database. Ecco come apparirà la struttura generale della funzione (senza alcun refactoring):

    public function cancelWorkRelease (workReleaseID number, key string){
        validate key...
        validate workrelease eligibility...
        perform cancellation tasks... /* database CRUD piece */
        return success or failure xml...
    }

Ora ognuna delle righe precedenti sarà probabilmente suddivisa in una sua funzione, e probabilmente sotto-funzioni, ecc. In pratica mi sto chiedendo quale sia il modo migliore per verificare che la funzione "esegui attività di cancellazione" venga chiamata quando scrivo test 1. Forse sto ragionando in modo troppo astratto e posso semplicemente ignorare quel pezzo nei test di unità (userò il metodo di iniezione sulla funzione "Esegui compiti di cancellazione" mentre eseguo il test in modo che non venga effettivamente eseguito). Sto pensando troppo a questo?

Grazie!

    
posta Adam Blomeke 13.04.2017 - 19:44
fonte

1 risposta

0

Il tuo programma comunica con il database tramite un'API. Scherza quell'API. Quindi saprai se la funzione sta dicendo le cose giuste attraverso l'API. E non dovrai aspettare il DB lento.

L'API potrebbe essere particolare per quel database ma è molto più bello se si tratta di operazioni veramente semplici. È più facile deridere e significa che non sei legato a un particolare sapore di DB.

    
risposta data 13.04.2017 - 21:46
fonte

Leggi altre domande sui tag