Sto imparando TDD/BDD usando MiniTest. Quello che sto cercando di capire è quali parti del mio codice dovrebbero essere testate con MiniTest :: Unit :: TestCase e quali parti dovrebbero essere testate usando MiniTest :: Spec.Quando uso MiniTest :: Unit :: TestCase contro MiniTest :: Spec?
Comprendo la differenza tra test di unità e test di integrazione, ciò che non riesco a capire dagli esempi sul web è se un TestCase e una Spec sono entrambi test unitari o se viene utilizzato un TestCase per un'unità test e una specifica utilizzata per i test di integrazione?
Devo tenere i miei test rapidi delle unità nelle classi MiniTest :: Unit :: TestCase e test di integrazione più lunghi, che descrivono più spesso le caratteristiche, nelle aspettative MiniTest :: Spec? Ha importanza, o è una questione di preferenze personali?
Quindi sono essenzialmente due modi diversi di fare la stessa cosa? Semplicemente sintatticamente diverso ...? – Mohamad
Praticamente. Ci sono un certo numero di "lingue" differenti per scrivere i test unitari e si riducono a diversi modi di dire la stessa cosa. Aggiungono diversi livelli di verbosità, rivolti a diversi tipi di persone. Gli sviluppatori tendono ad apprezzare la tenacia dei test unit generici con le asserzioni. Per i project manager e/o clienti che non "parlano di programmazione", Spec funziona meglio o usa qualcosa che dice le stesse cose in termini più comuni. –