Domanda

Quindi sto cercando di convertirmi in un approccio più testuale e comportamentato al mio sviluppo. Va bene per me, e ho visto buoni risultati nei pochi progetti che l'ho usato per così lontano.

Il mio progetto attuale è un filesystem basato sul fusibile - Voglio aggiungere alcune funzionalità sull'accesso di base del filesystem in modo che il fusibile sembri una buona misura. Tutto ciò che ho davvero bisogno di fare è implementare un insieme di funzioni che si adattano all'interfaccia appropriata, avvolgendolo in modo appropriato e andare.

Tuttavia, prova prima, mi ricordo. Ho già scritto un insieme di caratteristiche di cetriolo per stendere le aspettative di base di come l'app generale dovrebbe funzionare, quindi ora è il momento di scendere per testare le interruzioni.

Ora, potrei semplicemente scrivere test dell'unità per ciascuna delle funzioni che devo scrivere per l'interfaccia, quindi arrivare alla codifica dell'interfaccia - ma non sembra eccessivamente test- Driven a me. Sicuro che i test esistono, ma l'interfaccia è davvero ciò che sta guidando le cose.

Sto andando su questo sbagliato? O mi aspetto troppo?

Dammi un "cosa cosa" nei commenti se pensi che questo dovrebbe essere wiki comunitario - non riesco nemmeno a decidere se questo ha una risposta giusta.

È stato utile?

Soluzione

Step 1. Qual è una cosa che l'interfaccia deve fare?Una cosa.

Step 2. Come dimostrerai che una cosa?

Step 3. Scrivi un test per dimostrare che l'interfaccia fa davvero quella cosa.

Step 4. Eseguire il test - fallirà.Non hai effettivamente scritto l'interfaccia.

Step 5. Codice l'interfaccia.

Passaggio 6. Il test passerà.

Passare alla prossima cosa L'interfaccia deve fare.

Questo ha poco a che fare con le funzioni che hai già progettato.Questo è totalmente focalizzato sulla funzione visibile esternamente l'interfaccia deve .Potrebbe risultare che le tue funzioni sono la cosa giusta.Oppure potrebbe rivelarsi che hai ingegnerizzato da queste funzioni.O sotto-ingegnerizzati.Il punto è guidare il tuo design dalle cose un componente deve fare e i test per dimostrare cosa deve fare.

Altri suggerimenti

Anche se è focalizzato solo su Ruby, Il libro RSpec Ha una buona introduzione sul ciclo BDD.

.

Voglio aggiungere alcune funzionalità sull'accesso di base del filesystem in modo che il fusibile sia sembrato come una buona misura

È difficile sviluppare il fusibile FS.Due problemi principali sono molto duramente debug e filettatura multilingue.Inoltre ho avuto (e ora ha) problemi con il test del mio fs.Forse inotify soddisferà le tue esigenze.

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