Come posso testare questo codice [chiuso]

-2

Come posso testare un codice base che contiene classi che includono due o tre metodi. In generale questi metodi sono troppo lunghi. I metodi contengono molte attività come il filtraggio dei set di dati e un paio di istruzioni dml. I metodi non restituiscono nulla.

Posso definire un set di dati di input, chiamare il metodo e quindi controllare le tabelle del database. Ma Cucumber fa la stessa cosa e so che questo non è un test unitario (test funzionale? Sviluppo guidato dal comportamento? Test di integrazione?)

Quindi, oltre ai test di Cetriolo, come posso scrivere un test unitario?

    
posta user125687 17.11.2018 - 16:45
fonte

1 risposta

5

La semplice risposta è probabilmente "non puoi testare questo codice unitario". Dici di te stesso che le funzioni sono troppo lunghe e che stanno facendo più attività. Pertanto hai due possibilità:

  1. Non scrivere test unitari. Contrariamente a quanto alcuni potrebbero dirti, è possibile scrivere codice di alta qualità senza test di unità.
  2. Refactor per poter scrivere test unitari. Personalmente raccomanderei Working Effettivamente con Legacy Code di Michael Feathers , ma scegli quello che funziona per te. In questo caso, sembra che la tua funzione debba essere suddivisa in (almeno) due: una funzione che filtra il set di dati e un'altra che la scrive nel database; potresti volere un modello di repository o simile per astrarre via il tuo accesso al database.
risposta data 17.11.2018 - 17:22
fonte

Leggi altre domande sui tag