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.