+1 per le raccomandazioni della gente su SpecFlow per gli scenari; mai usato, ma ho sentito molte cose positive su di esso. Ho usato semplicemente NUnit con una piccola DSL come this. MSTest avrebbe funzionato allo stesso modo.
È possibile fare anche BDD nello spazio unitario, che è ciò che MSpec è progettato per fare. Personalmente odio MSpec, ma il resto della squadra qui lo adora. A loro piace scrivere esempi di come funziona il codice. Mi piace mostrare perché il comportamento è prezioso. È una sottile distinzione e se non sei preoccupato di farlo a livello di unità non ti colpirà.
Altri framework da considerare includono Concordion, Fitnesse.NET (si prega di inserire FitSharp dietro di esso!) E TickSpec.
Nel mondo reale, il bit più prezioso di BDD è il numero di conversazioni , non i test automatici. Ecco un paio di suggerimenti rapidi e suggerimenti per farlo funzionare:
Non scrivere test automatizzati sulle cose che sono in continuo mutamento. Ti impegna solo a cose che hai sbagliato. Aspetta che l'interfaccia utente si sia sistemata un po ', poi fallo.
Se non ti interessa molto dell'interfaccia utente, ma ti preoccupi dell'integrità dei dati, scrivi gli scenari sul livello controller/presentatore (ad esempio: per le schermate di amministrazione).
Non iniziare con il login. Inizia descrivendo una parte preziosa dell'applicazione per cui è possibile accedere. Esegui prima ciò (supponi di avere un solo utente). Riceverai un feedback più rapido sui bit rischiosi.
Cercare un feedback rapido sui bit rischiosi, che di solito sono i bit che non hai mai fatto prima. Usa scenari per avere conversazioni intorno a loro. Scrivi qualcosa di interessante che scopri, ma dimentica gli scenari che sono ovvi: sono ovvi! Non preoccuparti di automatizzarli per iniziare. Avere conversazioni è più importante che scrivere le conversazioni è più importante che automatizzare le conversazioni.
Buona fortuna! Se vuoi saperne di più su BDD, ho messo insieme una pagina di link rilevanti here.
Grazie mille Haris, ma chiunque può Google e restituire i collegamenti degli articoli. Spero di sentire alcune esperienze professionali degli sviluppatori e ciò che sanno di questi framework.Se ne sai di più su SpecFlow, ti prego di farmelo sapere. –
Non posso raccomandare abbastanza SpecFlow e WatiN, una combinazione geniale! –