2010-03-30 15 views
8

Sto pensando a dove collocare il progetto di verifica dell'unità/integrazione. Seguo il 1 test di progetto pr. progetto di convenzioneDove posizionare il progetto di prova dell'unità

mi viene in mente 3 modi, che tutto sembra buono con me, che lo rendono un po 'difficile scegliere :-)

  1. progetto di test viene messo sotto un test sottocartella per il progetto è test.
  2. Il progetto di test viene inserito accanto al progetto sottoposto al test, in una cartella "project" .Tests. Credo che questo sia ciò che Roy Osherove raccomanda.
  3. Inserire tutti i progetti di test in una sottocartella nella directory principale. per esempio. \ Test \ "progetto" .Tests
  4. Qualcos'altro?

Cosa scegli e perché?

risposta

1

Vorrei andare con # 1 in modo che quando si effettua un checkout del progetto, si hanno anche i test. In caso contrario, i test diventano ancora PIÙ di un ripensamento.

3

Mi piace avere tutti i progetti nello stesso livello fisicamente. Non ho grandi argomenti, solo per semplicità. Dopo tutto lo studio visivo mostra tutti i progetti nello stesso livello.

.../Project/Project.Web/ 
.../Project/Project.Model/ 
.../Project/Project.DataAccess/ 
.../Project/Project.UnitTest/ 
etc
4

L'opzione 2 è la mia preferita. A prescindere da qualsiasi altra cosa, è solo l'impostazione predefinita quando si crea un nuovo progetto di libreria di classi: si trova nella stessa directory di soluzione dei progetti di produzione.

Per contrastare l'argomento relativo alla verifica di un progetto senza i suoi test, trovo relativamente raro controllare solo un progetto piuttosto che un'intera soluzione. Se sei un negozio più "basato sul progetto" che "basato sulla soluzione", ciò potrebbe cambiare le cose.

2

progetto di test è messo accanto al progetto mette alla prova, in una cartella "Progetto" .Tests . Credo che questo sia ciò che Roy raccomanda Osherove.

Questo è il mio preferito. È quello che trasmette più chiaramente l'intento, e rende anche facile vedere a colpo d'occhio quali progetti di test vanno con quali progetti se li si guarda all'interno di una directory, o se hanno qualche motivo per raggruppare i progetti in un'unica soluzione.

0

L'impostazione predefinita in una soluzione ASP.Net MVC di Visual Studio 2010 è un progetto diverso all'interno della stessa soluzione. Questo è un grande aiuto quando si tratta di testare la compilation con tutti i tuoi riferimenti.

0

Credo che l'opzione 2 sia la scelta migliore. I test sono un ottimo modo per documentare il codice. Rendono chiara la semantica dei metodi e delle classi. Dovrebbe essere facile per un programmatore saltare al codice di prova per un metodo che trova dubbioso.

D'altra parte, mantenere il codice di test nello stesso progetto può rendere l'uscita binaria compilata più grande e forzare il progetto ad avere dipendenze necessarie solo dal codice di test.

Problemi correlati