2010-08-13 14 views
22

Mi piacerebbe sapere se è possibile che Visual Studio esegua i test di unità corrispondenti a un determinato assembly ogni volta che lo compilo.Esecuzione automatica di test di unità su build

Data una soluzione contenente progetti strutturati come questo:

Assembly1 

Assembly1.Tests 

Assembly2 

Assembly2.Tests 

C'è un modo per ottenere il test di unità in Assembly2.Tests per eseguire ogni volta Assembly2 è costruito?

Sarebbe fantastico.

Utilizzo Visual Studio 2008 Standard Edition.

risposta

18

È possibile utilizzare l'utilità della console nUnit per eseguire i test come evento post-creazione per il singolo progetto.

Si chiama nunit-console.exe e si fornisce l'assembly contenente i test come argomento.

"C: \ Program Files \ NUnit 2.5.7 \ bin \ net-2.0 \ NUnit-console.exe" "PathToTestAssembly.dll"

o

È possibile eseguire i test nella GUI :

"C: \ Program Files \ NUnit 2.5.7 \ bin \ net-2.0 \ nunit.exe" "PathToTestAssembly.dll"/run

Edit:

rimosso la parte che riguarda il palo -build evento per il test progetto di assemblaggio.

+0

Non potrò ancora provarlo, ma se hai ragione è raro che qualcosa di veramente utile sia facile da configurare. Ti risponderò tra un po '... – David

+0

Scusa, il tuo avvertimento (su dove collocare l'evento post-build) si applica a entrambe le tue alternative o solo a quest'ultima? – David

+0

Solo il secondo, poiché la variabile $ (TargetPath) si riferisce all'assieme emesso per quel progetto. Quindi, se hai usato l'ultimo evento postbuild nella build per l'assembly principale (ciò che è sotto test) non funzionerebbe in nunit. – fletcher

Problemi correlati