Sono nuovo nella scena di test delle unità; Ho usato solo test unitari per circa 2 mesi. Quando eseguo il test unitario in Ruby, attualmente seguo lo stile TDD e utilizzo Test :: Unit :: TestCase. Ho anche letto su RSpec e su come segue la metodologia BDD. Ho anche letto su Shoulda che è una via di mezzo tra i due quadri. La mia domanda è: quale framework dovrei dedicare il mio tempo a RSpec o Shoulda, o dovrei rimanere con Test :: Unit :: TestCase? Qualsiasi opinione sull'argomento è apprezzata.RSpec vs. Shoulda?
risposta
RSpec ha molte funzioni interessanti, oltre alla sintassi. Lo consiglierei su Shoulda.
Anche Thoughtbot, gli autori di Shoulda, stanno utilizzando RSpec ora. Shoulda ora funziona come un plug-in RSpec e fornisce un numero di abbinamenti utili.
Dovrebbero essere completati Test :: Unit e RSpec quindi non penso che si tratti di scegliere Shoulda su RSpec o viceversa. Uso Shoulda su più progetti, alcuni testati con Test :: Unit, altri con RSpec e funzionano perfettamente insieme a entrambi i framework.
Si consiglia di provare Shoulda sul progetto Test :: Unit esistente. Può farti risparmiare molti colpi chiave e mantenere le tue classi di test un po 'più ordinate e coerenti.
Come dice giustamente Andrew Vit, il team di Shoulda sta favorendo il modo in cui RSpec fa le cose sempre di più (vedere http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond). Vale la pena provare RSpec e vedere come ti piace. Non è per tutti i gusti, ma lo preferisco a Test :: Unit per la sua sintassi, espressività, contesti nidificati, abbinamenti personalizzati e cool cool! ;-)
Non c'è né-o. Utilizzare i diversi strumenti di test dove si adattano meglio.
Shoulda è un ottimo strumento di test a linea singola. Ti aiuta a mantenere i tuoi test puliti e concisi. Se ti piace anche questo stile, ti consiglio anche la gemma Zebra. È un bel piccolo strumento per scrivere test one-liner.