2012-03-12 4 views
2

J'ai deux projets de test unitaires dans ma solution VS 2010. Chaque projet dispose d'un répertoire de données avec les données d'entrée nécessaires pour les tests unitaires.Test MS, projets de test multiples en solution et DeploymentItemAttribute

I les classes annotés tests qui ont besoin de données avec

[DeploymentItem("Data")] 

Quand je lance des tests individuellement, l'amende de l'exécution. Toutefois, lorsque j'exécute (ou débogue) tous les tests dans la solution, je trouve qu'un seul des deux répertoires de données est copié à TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out, provoquant l'échec des tests unitaires qui reposent sur l'autre répertoire de données. Il est intéressant de noter que si j'utilise ensuite la fenêtre Résultats des tests pour réexécuter les tests cochés (comme en cas d'échec), les tests échouent toujours (ils ne reconnaissent pas que les fichiers du répertoire Data sont manquants). Si je navigue ensuite directement vers un test échoué et que je sélectionne Exécuter des tests dans le contexte actuel, l'exécution du test obtient le bon répertoire de données et le test réussit.

Ma question: Comment puis-je faire DeploymentItem s de deux projets de test distincts tous à copier dans le répertoire Out où les tests sont exécutés?

Pour référence, j'ai examiné ces questions sans faire remarquer une solution

Problems with DeploymentItem attribute

Do MSTest deployment items only work when present in the project test settings file?

Répondre

1

Je trouve que donner à chaque répertoire "données" un nom unique (par exemple "TestProjectAData") a résolu le problème. Il semble y avoir une sorte de bogue lorsque plusieurs répertoires dans des chemins différents ont tous le même chemin relatif vers différents projets de test (c'est-à-dire si chaque projet de test a un sous-répertoire appelé "Données").

Questions connexes