2010-08-03 11 views
6

Im un principiante quando si tratta di TDD e BDD.In che modo TDD e BDD sono in relazione tra loro in Rails 3?

Questo è quello che so:

Per usare TDD in Rails lo uso integrato nel test unit, funzionali e di integrazione.

Per utilizzare BDD in Rails, utilizzo Cetriolo.

Quindi queste due tecniche diverse non dovrebbero essere utilizzate insieme?

Se utilizzo TDD, non dovrei usare BBD/Cetriolo e viceversa?

Per favore mi illumini su questo argomento.

Grazie

risposta

8

Non che io sia un genio a questo, ma ecco la mia risposta umili.

Cucumber è ideale per delineare il comportamento del sito, incorporando le soluzioni aziendali e il codice e sviluppando correttamente il sito da esso.

Quindi, dopo averlo completato, creare Rspecs per verificare come vengono conservati i dati nel MVC. Rspec è ottimo per i modelli.

Mi è stato consigliato l'utilizzo di Factory-Girl per testare i controller.

In conclusione, l'utilizzo di tutti questi fornisce una serie di test molto arrotondati per garantire che vengano soddisfatte per prime le soluzioni aziendali e in secondo luogo che la tua architettura possa sopportare i molti angoli che possono essere testati con rspec e factory-girl.

+3

Sono d'accordo che usare RSpec/Cucumber sia una buona idea. Personalmente, imparo comunque a limitarmi ai test sui modelli RSpec, solo perché le specifiche di Controller/View sono relativamente infernali da scrivere, e il cetriolo copre molto di questo. – Karl

0

Ho trovato che ottenere il giusto mix di cosa a quando e perché è stata la parte più difficile, dato che spesso c'è troppo molte informazioni sulla rete. Un buon post sul blog è Outside in BDD che ti porta in un viaggio di test usando Cucumber e RSpec.

L'autore, Sarah Mei, spiega il flusso che uno sviluppatore intraprenderebbe per utilizzare BDD/TDD e mette in evidenza alcuni avvertimenti su controller di test, modelli e viste.

Tendo ad essere d'accordo sul fatto che Rspec è buono per i modelli, tanto più quando si ha un comportamento personalizzato che va oltre quello che Rails ti dà fuori dalla scatola. Questo emerge nei libri RSpec & Cucumber, è solo che ci vuole un po 'di tempo per trovare quel gioiello di informazioni su come testare cosa, quando e perché!

Problemi correlati