Differenze tra Test vs Spec


12

Sto avendo un problema concettuale a questo punto e non riesco a trovare alcuna informazione sulle differenze tra Test (UnitTest, ecc.) Vs Spec (Rspec, ecc.).

Per quanto ne so, le specifiche sono nei test di integrazione e il test è in UnitTest, ma proprio quello.

Puoi spiegare quali sono le differenze?

Risposte:


12

Guarda il diagramma seguente. Illustra la relazione tra Test-Driven Development (TDD) e Acceptance Test-Driven Development (ATDD):

Diagramma di sviluppo basato su test di accettazione

Si noti che il loop interno, TDD, è avvolto dal loop esterno, ATDD. I requisiti (illustrati nella casella Criteri di accettazione) guidano la creazione di test di accettazione automatizzati, che a loro volta guidano la creazione di Test unitari per l'implementazione.

In generale, RSpec verrebbe utilizzato in quelle situazioni in cui si desidera esprimere i test in modo amichevole per gli analisti aziendali, vale a dire la creazione di test di accettazione automatizzati (il cerchio dell'abbronzatura); mentre i framework di Unit Test come nUnit sono più specializzati per il tipo di unit test scritti dalla prospettiva TDD dello sviluppatore a livello di implementazione (il cerchio giallo).


Un buon esempio è una tabella di hash, che richiede test unitari dettagliati, poiché si prevede che funzionerà per tutti i possibili input, non solo per la piccola serie di esempi nei test di accettazione. Tuttavia, è probabile che il codice che calcola lo sconto per un cliente "buono" sia ben coperto dai test di accettazione, pertanto potrebbe non essere necessario un numero di test unitari.
Ian,

3

ok abbiamo qui alcuni termini diversi, quindi ecco cosa sta succedendo

  • Abbiamo test unitari. Altri livelli sono test di integrazione, test delle prestazioni, ecc.
  • rspec può essere utilizzato per molti dei suddetti livelli di test, ad esempio contro modelli, controller e viste attraverso i test delle funzionalità di Capybara.
  • la parola 'specifica' deriva da specifica che è al centro di un test - specifica qualcosa.
  • rspec - un framework usato per testare i browser agaist, usato frequentemente con le applicazioni Ruby on Rails.
  • file spec: il file rspec di solito termina in _spec.rb e viene spesso chiamato file spec.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.