Domanda

Sto imparando Rails l'età vecchia maniera. Con la lettura di Agile Web Development con Rails (3rd Edition) come punto di partenza. Sono attualmente in capitolo che insegna Testing. Sono anche a conoscenza di altri framework BDD Testing come RSpec. Così mi chiedevo se framework quali RSpec, cetriolo, Shoulda sostituiscono la necessità di conoscere / utilizzare Test :: Unit? Sono entrambi rilevanti nel loro diritto e utilizzati per scopi diversi?

UPDATE: Dato che io sono nuovo alla sperimentazione, mi piace anche per ottenere un feedback su ciò che le risorse sono utili per ottenere i miei piedi bagnati con diversi quadri

.

Grazie!

È stato utile?

Soluzione

Il mondo è cambiato! Controllare il basso e upvote @prusswan

Credo Test :: Unit è ancora rilevante, anche se c'è un sacco di hype che circonda BDD e di altri strumenti di test.

Detto questo, se siete in su per esso, si potrebbe bypassare l'apprendimento Test :: Unit e iniziare con qualcosa come RSpec e Shoulda subito, ma c'è qualcosa da dire di seguire gli esempi nello sviluppo Web Agile libro per vedere dove le idee da BDD venuti.

Mi ritrovo ancora utilizzando Test :: Unit per alcuni progetti in quanto si tratta con Rails ed è ancora un grandissimo framework di test.

Quindi, per farla breve, non credo che sia obsoleto, ma non è bordo il taglio più. BDD è un cambiamento di paradigma test soprattutto se si inizia con cetriolo e Webrat, ma è fantastico, una volta che lo conosci. Shoulda è il più facile da effettuare la transizione verso, quindi vorrei iniziare con Test :: Unit, per poi passare a Shoulda, poi dare RSpec e cetriolo un tentativo.

Si stanno testando o almeno interessati a testare! Questa è la parte migliore. Alla fine non importa quello che si utilizza fino a quando si è soddisfatti con esso.

In bocca al lupo!

Altri suggerimenti

Proprio pensato che avrei inviare un aggiornamento a partire dal 2012:

Tra le tre principale e corrente (utilizzabile con Rails 3.2 con non più di qualche piccola modifica) libri introduttivi su RoR, due di loro sono utilizzando Rspec (con al più una breve menzione per test :: Unit) e uno di loro sta progettando avanti anche Moar Rspec per il prossima edizione , quindi è chiaro chi sarebbe stato il vincitore di questa "battaglia" per ora

E mi permetterà di selettivamente preventivo dhh:

  

La cosa importante è, naturalmente, che otteniamo test persone, quindi gli strumenti non dovrebbe importa troppo.

Rivisitare nel 2014:

Minitest è ormai superata Test :: Unit come predefinito nelle attuali versioni di Rails. Personalmente ritengo che merita uno sguardo più attento rispetto al suo predecessore per una serie di ragioni -

  1. Il suo status di default
  2. Migliorato il supporto per capibara e selenio, in gran parte a causa di gemme come questo
  3. relativamente leggero
  4. Per lo più compatibile con Test :: Unit

Rspec è un framework di testing completamente separata. Shoulda è un miglioramento al quadro integrato di Rails, Test :: Unit. Se stai usando Shoulda, si sta utilizzando Test :: Unit, ma con più capacità e più semplice, la sintassi più leggibile.

Ho provato Rspec e Shoulda e per me, Shoulda vince a mani basse. Mi piace il modo migliore. Ma che può essere una questione di gusti.

Si noti che è possibile utilizzare cetrioli con Shoulda .

Altre risorse? Vi consiglio le gemme ZenTest e Redgreen. ZenTest fornisce autotest, che consente di eseguire i test automaticamente ogni volta che si modifica un file. E 'un grande aiuto.

Per quanto riguarda infissi contro fabbriche, se è necessario istituire un gruppo di oggetti interconnessi dove si sta testando entrambi i lati o una relazione padre-figlio e / o prove molti-a-molti, infissi funzionano molto meglio. In realtà non sono nemmeno sicuro che si può fare con le fabbriche. Quindi non respingere infissi -. Che hanno la loro utilità

Ci sono un sacco di persone che ancora come Test :: Unit, e in qualche misura, si tratta di una preferenza personale. Tuttavia, a conti fatti, troverete molto di più l'attività sul fronte RSpec. La roba davvero cool è tutto stato fatto con RSpec e cetriolo, quindi se non si dispone di una preferenza personale te stesso, sarei probabilmente saltare Test :: Unit. Si dovrebbe, tuttavia, essere abbastanza familiarità con essa per leggere i test di qualcun altro che sono scritte con esso, ma io non lo prevedere che mai essere un problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top