Anche se non ho partecipato a un progetto TDD o BDD, o lo sono stato in alcuni che affermano che stanno facendo TDD ma sono piuttosto lontani da ciò, queste sono cose a cui penso e cerco davvero di leggere il più possibile di.
Torna alla domanda Quando fai BDD dovresti prima scrivere il tuo "test" e farlo fallire, giusto? E quindi implementare quella funzione o come la chiami tu. Ma se lo porti all'estremo non potrebbe essere una sorta di sviluppo top-down? Stai guardando la tua interfaccia utente e dice "Vorrei avere questa caratteristica / comportamento qui". Quindi correggi l'interfaccia utente per implementare quella funzione e il codice che supporta l'interfaccia utente. A questo punto non hai implementato alcuna logica aziendale o logica di accesso ai dati, hai appena implementato il tuo comportamento. Quello a cui sto puntando invece di scrivere prima il test scrivi prima il tuo codice UI. In alcuni casi dovrebbe risultare lo stesso codice per l'accesso ai dati e il livello aziendale, poiché si utilizza il codice dell'interfaccia utente per definire ciò che l'azienda deve supportare.
Ovviamente dovresti integrare questo con i test usati per assicurarti che la funzione funzioni come dovrebbe nella funzione.
qualche idea?
main
. Nel tuo commento dall'alto verso il basso, stai parlando di test funzionali, che eseguono l'intero programma attraverso un singolomain
.