EDIT 2016-10-19:
La question initiale concernait un problème spécifique à VS2015 CTP6 avec le lanceur de test XUnit. Il ressort clairement des réponses qu'il existe un problème beaucoup plus large avec la découverte des tests unitaires dans Visual Studio, qui peut se produire dans de nombreuses situations différentes. J'ai nettoyé ma question pour refléter cela.
J'ai également inclus un script dans ma propre réponse que j'utilise encore à ce jour pour résoudre des problèmes similaires lorsqu'ils apparaissent.
De nombreuses autres réponses se sont également avérées utiles pour mieux comprendre les subtilités du testeur VS. J'apprécie que les gens partagent toujours leurs solutions!
Question originale 10/04/2015:
Depuis hier, mon explorateur de tests Visual Studio ne découvrira les tests pour aucun de mes projets. Il n'affiche pas non plus la barre de chargement verte après la construction.
Lorsque je vais dans l'Explorateur de tests Visual Studio et que je clique sur «Tout exécuter», ou lorsque je clique avec le bouton droit sur une méthode de test et que je sélectionne «Exécuter les tests», j'obtiens ce qui suit dans ma fenêtre de sortie:
Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
J'exécute Visual Studio 2015 CTP 6 sur Windows 10 Pro Technical Preview, build 10041. La version .NET Framework ne semble pas avoir d'importance - cela se produit sur 4.0
, 4.5.2
et 4.6
.
J'ai essayé avec les frameworks de test suivants et tous donnent le même comportement:
Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
xunit v2.1.0-beta1-build2945
avecxunit.runner.visualstudio v2.1.0-beta1-build1051
NUnit v2.6.4
avecNUnitTestAdapter v2.0.0
J'ai trouvé un problème sur GitHub (xunit) qui semblait être similaire: Impossible d'obtenir les tests découverts # 295 , avec ce commentaire de l'équipe xunit:
Sachez que Visual Studio 2015 CTP 5 a été signalé comme étant interrompu par de nombreuses personnes ayant des tests unitaires en général (pas seulement xUnit.net), alors ne vous attendez pas à ce que cela fonctionne.
Assurez-vous également d'avoir nettoyé le cache d'exécution de Visual Studio. S'il est corrompu, Visual Studio se comportera de manière permanente jusqu'à ce qu'il soit supprimé. Pour vider le cache, arrêtez toutes les instances de Visual Studio, puis supprimez le dossier% TEMP% \ VisualStudioTestExplorerExtensions (honnêtement, cela ne ferait probablement pas de mal de supprimer tout ce qui peut être supprimé dans% TEMP%).
J'ai essayé leur suggestion de supprimer le dossier %TEMP%\VisualStudioTestExplorerExtensions
. Malheureusement, cela n'a pas résolu le problème.
J'ai remarqué que ReSharper est en fait capable de découvrir certains tests. Cela ne fonctionne que pour les tests VS et NUnit, pas pour xunit.
Il doit y avoir une sorte de dossier temporaire ou de cache que je dois effacer, mais je sais que Visual Studio en a beaucoup et que tous ne peuvent pas être supprimés sans effets secondaires indésirables.