2011-11-02 3 views
5

Ho diverse prove con diversi elementi di distribuzione, come questo:elementi di implementazione diverso per ogni prova

[TestMethod] 
[DeploymentItem("item1.xml")] 
public void Test1(){...} 

[TestMethod] 
[DeploymentItem("item2.xml")] 
public void Test2(){...} 

Se corro i test uno per uno funziona, se li corro assieme tutti gli elementi di distribuzione vengono copiati, quindi Test2 eseguirà wit item1.xml e item2.xml nella cartella di output.

Quello che sto cercando di fare è eseguire ogni test solo con gli elementi di distribuzione specificati nella cartella di output.

C'è un modo per pulire gli elementi di distribuzione dopo ogni test?

La mia soluzione alternativa è quella di distribuire gli elementi in una sottocartella di output per ogni test, ma non mi piace.

risposta

0

Se si definisce il seguente nella classe di test, si può essere in grado di compiere ciò che stai cercando:

[TestInitialize()] 
public void Setup() 
{ 
    //Delete all files from the deployment directory 
} 

tendo a non utilizzare i file come parte del test di 'unità', così ho Non sono sicuro di questo, ma probabilmente vale la pena di esaminarlo se preferissi davvero che i file siano isolati in quella directory, e non nelle sottodirectory.

+0

Tutti i file specificati nell'attributo DeploymentItem vengono copiati nella cartella di output prima dell'esecuzione dei test. Facendo quello che dici cancellerai semplicemente tutti questi file. Mi sono imbattuto in questo problema e sto ancora cercando un modo per ottenere esattamente ciò che @Pomber ha chiesto – amaters