7
votes

Pourquoi mes fichiers binaires de test sont-ils copiés dans TestResults \ \ Out dossier?

Je suis confronté à ce comportement inhabituel de mon studio visuel où tout d'un coup de soudain mes fichiers binaires de test (myTestSsolution.dll) et les fichiers binaires de dépendance ajoutés en référence sont copiés dans des testsults \\ Out dossier de mon dossier bin et commence à exécuter à partir de là?

Il en résulte que mes tests ont échoué, car mon fichier getExécutionAssemblage () donne le chemin du dossier OUT au lieu du dossier BIN où certains des fichiers binaires à charge existent?

Quelqu'un pourrait-il m'aider s'il vous plaît comment arrêter cela?


2 commentaires

Avez-vous vérifié les paramètres de votre projet Build: Propriétés -> Build -> Chemin de sortie ?


Le chemin de sortie est uniquement le dossier de bin. Le fichier est créé dans le dossier bin, mais lorsqu'il est exécuté à partir de Visual Studio, il est copié dans le dossier des résultats de test et se fait exécuter de là


5 Réponses :


0
votes

Modifier la propriété Copier local à false

  1. Cliquez avec le bouton droit de la souris sur myTestSULD.dll puis cliquez sur Propriétés
  2. de là change copie local sur false
  3. Construisez la solution et vérifiez maintenant.

0 commentaires

1
votes

Ceci est le comportement par défaut de Mstest. Une fois que la solution compile le testRunner copie les références directes au dossier TestResults \ \ _Testrun_ \ Out. Changer les paramètres de compilation (COPYLOCAL) n'aura pas d'impact sur le test.

Si vous avez des dépendances requises mais ne figurent pas dans le dossier de sortie TestRun, vous avez quelques options:

  1. Ajoutez des références à ces assemblages dans l'ensemble de test. Étant donné que le coureur de test utilise la réflexion pour déterminer les dépendances dont vous devrez faire référence à une classe dans cette assemblée.

  2. Modifiez les paramètres de test actuels et inclure les dépendances comme éléments de déploiement.


0 commentaires

0
votes

Vous pouvez résoudre ce problème en désactivant le déploiement dans la configuration de test. Par exemple, dans VS 2008: TEST> Modifier les configurations de test> Test local> Déploiement> Activer le déploiement = OFF.

voir Vue d'ensemble du déploiement de test Pour plus de détails.


0 commentaires

4
votes

Visual Studio 2010 crée un dossier TestResults et déploie tous les fichiers pertinents des sous-répertoires avec le schéma suivant: nom d'utilisateur_computerName Date Time .

C'est le comportement normal si vous n'avez pas de fichier .TestStsettings pour votre solution. Le fichier .TestStsettings est situé dans le dossier les éléments de la solution .

Si vous avez un fichier .TestStsettings, cela dépend du paramètre Activer le déploiement dans la section déploiement . Si Activer le déploiement est coché, le dossier TestResults sera créé et rempli.

Entrez la description de l'image ici

Dans certains cas, il est possible que le dossier TestResults soit créé bien que l'activation du déploiement soit désactivé. Mais dans ce cas, le dossier n'est utilisé que pour certains fichiers temporaires, pas pour les fichiers d'exécution de vos tests.

Pour plus d'infos voir:

MSDN - Vue d'ensemble du déploiement de test


0 commentaires

4
votes

peu trop tard à la fête mais ici ce que je viens d'apprendre de mon expérience

env: Net45, VS2017, Microsoft.VisualStudio.QualityTools.UnittestFramework

Lorsque mon TestMethod a deploymentItematTtribute , il exécute du TestResults \ .... \ Out dossier. Lorsque je supprimai déploymentItemattribute il exécute de bin \ débogo .


2 commentaires

Merci beaucoup, c'était exactement mon problème. J'avais utilisé de nombreuses approches: Ensuite, après votre commentaire, j'ai découvert que l'une de mes classes de test utilisées l'attribut mentionné ...


@ Kotmatroskin content d'aider, Monsieur Matroskin. Dire "salut" à Pechkin