Questo test di unità o test di integrazione?

1

Ho un software che si collega a diverse API di marketplace come Amazon, eBay, Etsy e così via e lo importa nel nostro database.

Ho scritto un test di base. Il test fornisce un numero d'ordine per ciascun importatore del marketplace. Ogni importatore tenta di importare il suo numero d'ordine. Il test quindi afferma se questo ordine esiste nel database.

Da un lato, una singola importazione Amazon chiama diverse funzioni e fa molte cose diverse.

D'altra parte, tutti questi importatori agiscono indipendentemente l'uno dall'altro.

Questo test dell'unità o test di integrazione.

    
posta Goose 28.03.2017 - 15:48
fonte

1 risposta

4

Regola empirica: se i dati del test sono presi in giro (ad esempio, sai già cosa verrà restituito) il test è unit test. Altrimenti hai un test di integrazione

Ad esempio, quando si usa C # + MOQ e si configura il .Returns((List<string> result)=> return myPreviouslySetList;) si sta prendendo in giro un ritorno. Quindi non stai testando se puoi effettivamente colpire un database, ma quale sarà il tuo metodo con i dati dati ... quindi, Test unitario!

Modifica 1 In questo scenario specifico, credo che tu abbia un mix di entrambi, quindi tornerai di default a Integration Testing. Ti consiglierei di prendere in giro i dati per due motivi:

  1. È possibile testare scenari difficili da trovare in ambienti prd
  2. Non perdi tempo a testare sempre lo stesso scenario

Modifica 2 Se sei preoccupato per l'interruzione delle API, ti suggerisco di testare il contratto! sono davvero utili! ( link )

    
risposta data 28.03.2017 - 15:53
fonte

Leggi altre domande sui tag