2012-11-10 15 views
5

Recentemente ho appreso, Rspec + Capybara (Sono nuovo per testare le cose). E ho provato alcuni nuovi modelli che ho creato. Ora, stavo pensando di aggiungere la colonna title al mio modello Post. Non è un compito difficile, e l'ho già fatto molte altre volte. Ma ho capito che mi ci vorrà un po 'di lavoro aggiornando i file spec (ad esempio post, pagine post, utente, pagine utente, fabbriche, sample_data, ecc.).È una buona pratica testare assolutamente tutto o è una perdita di tempo (Rails)?

Il test è in questo caso, una perdita di tempo? O è una buona pratica testare assolutamente tutto?

Mi chiedo anche se testare le gemme sia una perdita di tempo? Dal momento che sono stati probabilmente già testati dai loro creatori (lo stesso per testare qualcosa tratto da un tutorial affidabile).

risposta

4

Mentre la comunità di rubini è nota per la sua attenzione ai test, ogni caso deve essere analizzato nel contesto per capire quali sono le decisioni più convenienti.

È utile pensare ai test come tecnica per gestire il rischio. Se non pensi che visualizzare titoli/aggiungerli al database sia un'attività soggetta a errori, complessa da eseguire, o che il costo di aggiungere quei test sia più alto del rischio di rompere qualcosa, potrebbero essere saggio non farlo

Detto questo, dal momento che hai detto che sei nuovo ai test, ti consiglierei (se non hai limiti di tempo, ovviamente) per cercare di portare l'idea all'estremo del test assolutamente di tutto, in modo che tu possa avere un'idea di quanto ne aggiunge valore e quanto è uno spreco di tempo.

Si potrebbe voler dare un'occhiata a questo post del blog dal DHH, creatore di Rails, dove si parla di che: Testing like the TSA

A proposito di gemme di test, è generalmente ben accettato che non dovrebbero essere testato dai test delle applicazioni, ma dai loro creatori. La maggior parte delle volte si può semplicemente supporre che funzioni come promettono.

+0

Grazie per la risposta. Mi sono sempre chiesto questo. Perché la community di ruby ​​si concentra sui test (o sulla community di Rails)? – alexchenco

+0

@alexchenco Non ho una risposta concreta per questo, ma penso che sia in parte dovuto al fatto che il linguaggio è già dotato di un framework di test integrato ('test/unit'), e che gran parte della comunità ha le sue radici sul movimento agile/XP. –

+0

Vedo. Sì, come se non avessi mai sentito parlare della comunità dei pitoni sui test. – alexchenco

1

uno dei principali concetti di test è: "È impossibile testare tutto"

Problemi correlati