Come si combina NUnit per C # con la funzionalità Unit Test integrata con Visual Studio

12

Ho bisogno di lavorare in un team per sviluppare un'applicazione desktop di medie dimensioni sviluppata con C # .NET. Prima di questo, non ho applicato Test unitario e Sviluppo guidato da test. Sono consapevole del fatto che esistono molti strumenti e framework per le applicazioni C # Unit Testing. A partire da ora, sono a conoscenza di Nunit e della funzionalità Unit Testing integrata con Visual Studio.

Mi piacerebbe sapere, come si confrontano i due?

    
posta Shamim Hafiz 03.01.2011 - 13:14
fonte

3 risposte

14

C'è sicuramente una certa sovrapposizione tra i due. NUnit è il predecessore e, di conseguenza, più maturo. Il framework C # Unit Test è più giovane, ma integrato con Visual Studio.

Sono venuto dal mondo Java in cui JUnit è il re (ce ne sono altri, ma nessuno è così popolare) e NUnit 2.5.x è un ottimo abbinamento al modo in cui funziona JUnit 4. In effetti, funziona molto meglio della controparte Java.

Per quanto riguarda la definizione del test, sono favorevole a NUnit. Sicuramente MS Test ha attributi simili (ma diversi) che applichi alle tue classi, ma credo che manchino alcune funzionalità che possono farti risparmiare un po 'di lavoro su alcuni tipi di test. Potresti voler controllare una discussione simile su StackOverflow .

Mi piace il nuovo modello di asserzione incorporato in NUnit (sta utilizzando i Hamcrest asserzioni di stile) perché sono entrambi facili da leggere e facilmente estensibili.

  • NUnit avrà un migliore supporto di terze parti, MS Test avrà una migliore integrazione (pronta all'uso).
  • NUnit avrà una maggiore flessibilità ed estensibilità, MS Test ne risentirà in questo ambito.
  • Entrambi eseguono test unitari e controllano i risultati, entrambi funzioneranno per TDD.
risposta data 03.01.2011 - 14:21
fonte
3

L'unica vera differenza che ho notato quando ho dovuto creare uno script di build da eseguire su un server MSBUILD dedicato da TFS, impostare nUnit up e ottenere risultati di nUnit test era un vero problema, impostarlo e ottenere i risultati per MSTest era un gioco da ragazzi.

Inoltre c'era un problema con Resharper dove non era possibile eseguire il test MSTest dal runner del test. Nelle versioni più recenti questo è corretto, quindi se hai una vecchia versione di Resharper potrebbe ancora essere un problema.

questo post da Roy Oshereve è ancora una bella panoramica.

p.s .: cancellata la mia altra risposta, non è stata affatto d'aiuto, le mie scuse per quello.

    
risposta data 03.01.2011 - 15:37
fonte
1

Potresti anche dare un'occhiata a Gallio / MbUnit che è principalmente conosciuto per numerose funzionalità avanzate che fornisce. C'è un bel tutorial sul Gallio wiki .

    
risposta data 03.01.2011 - 18:34
fonte

Leggi altre domande sui tag