MS Test, progetti di test multipli in soluzione e DeploymentIteMattribute
-
12-12-2019 - |
Domanda
Ho due progetti di test unitario nella mia soluzione VS 2010. Ogni progetto ha una directory di dati con dati di input necessari per i test dell'unità.
Ho annotato le classi di prova che necessitano dei dati con
[DeploymentItem("Data")]
.
Quando eseguo i test singolarmente, la correre bene. Tuttavia, quando eseguo (o debug) tutti i test nella soluzione, trovo che solo una delle due directory di dati viene copiata su TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out
, causando test dell'unità che si basano sulla directory di dati.
È interessante notare se quindi utilizzo la finestra Risultati del test per rielaborare i test selezionati (come nei non riusciti), i test ancora falliscono (non riconoscono che i file corretti della directory dei dati mancano). Se poi navigo direttamente su un test non riuscito e selezionare Esegui test nel contesto corrente, il test Esegui ottiene la directory dei dati corretta e il test ha successo.
La mia domanda : Come posso causare DeploymentItem
s da due progetti di test separati da copiare nella directory Out
in cui vengono eseguiti i test?
Per riferimento, ho rivisto queste domande senza notare una soluzione
Soluzione
Ho trovato che dare a ciascuna directory "dati" un nome univoco (ad esempio "testprojectitadata") risolto il problema.Sembra esserci una sorta di bug quando più directory in diversi percorsi hanno lo stesso percorso relativo a diversi progetti di test (cioè se ogni progetto di test ha una sottodirectory chiamata "Dati").