Je ne suis pas sûr de ce que j'ai fait, mais tout à coup, mon Visual Studio 2012 ne déboguera aucun test.
Si je sélectionne un test dans Test Explorer et que je le lance, il le signale simplement dans la fenêtre Test Output:
> ------ Discover test started ------
> ========== Discover test finished: 29 found (0:00:01.3371755) ==========
> ------ Run test started ------ Process with an Id of -1 is not running.
> ========== Run test finished: 0 run (0:00:01.4711861) ==========
qu'est ce que ça veut dire?! Après avoir effectué cela plusieurs fois, l'erreur est devenue:
The Operation was Cancelled
ce que je n'ai pas fait.
Cela se fait à chaque test de la liste.
cependant, je peux exécuter les tests sans problème, et ils réussissent ... mais je ne peux pas déboguer les tests.
Qu'ai-je pu faire? Je ne suis pas allé activement dans les paramètres et ne changez rien, peut-être un clic parasite quelque part, mais où?
J'ai rencontré cela aujourd'hui. J'ai essayé de fermer la solution mais cela n'a pas fonctionné. Mon erreur, je mets ma solution en mode de libération au lieu du mode débogage. Je l'ai mis à Debug puis cela a fonctionné comme prévu.
J'utilise VS 2015 Professional.
J'obtenais le même résultat après la mise à niveau d'un projet de test de VS 2010 vers VS 2012 Ultimate Update 3. Le message était affiché dans la fenêtre Sortie de test après l'utilisation de la commande MSTest vers Debug Selected Tests.
J'ai essayé de déboguer des tests en utilisant la fenêtre Resharper 8 Unit Test Session. Le message dans la fenêtre de résultat était "Le test n'a pas été exécuté".
La solution qui m’a aidé était de modifier les paramètres du projet test pour permettre le débogage de code natif comme indiqué sur ce lien: Exception Uncaught levée par une méthode appelée par réflexion
Si le lien ne fonctionne pas:
Merci à GalDude33 d’avoir posté la solution.
Avoir régulièrement le même problème avec Visual Studio 2012 .
Solution: fermez la solution actuelle et rouvrez-la .
Dans mon cas, fermer et réouvrir VS n'était pas nécessaire.
Veuillez suivre les étapes ci-dessous. Ça a fonctionné pour moi
Pas.
1.Fermez vos instances de Visual Studio
2.Nettoyez les fichiers temporaires et les fichiers de prélecture.
3. Supprimez les fichiers du dossier bin du projet.
4. Redémarrez les applications.
Assurez-vous que votre projet de test fait partie des projets à construire.
J'avais un problème similaire dans VS2015 . Un seul test unitaire n'a pas pu être débogué dans mon cas. Le débogueur initialiserait un test, mais ne déboguerait pas le test lui-même, en finissant bien. Le problème était lié à l'importation de la bibliothèque Newtonsoft.Json par Resharper sans activer le package NuGet pour le projet. (J'ai utilisé Alt + Entrée pour importer automatiquement la bibliothèque)
Solution devait installer le package Newtonsoft.Json NuGet pour le projet test.
Tests asynchrones - Les symptômes de mon scénario étaient similaires en ce sens que mon test n’exécutait pas et que mon point d’arrêt n’était pas touché. L'explorateur de tests de Visual Studio pouvait voir le test, mais je ne pouvais pas le déboguer. L'exécuter l'a fait comme s'il ne pouvait pas être trouvé même s'il pouvait être vu dans l'Explorateur de tests.
Au cas où cela aiderait quelqu'un d'autre, mon problème était aussi simple que devoir changer la signature de la méthode de test de "async void " à "async Task ".
Faire ceci:
[TestMethod]
public async Task CorrectlyFailingTest()
{
await SystemUnderTest.FailAsync();
}
Pas ça:
[TestMethod]
public async void CorrectlyFailingTest()
{
await SystemUnderTest.FailAsync();
}
Lorsque j'utilise Visual Studio 2012, pour certaines raisons, si j'utilise le raccourci ctrl R + T, le point d'arrêt sera atteint. Mais si je clique sur "Run All" ou "Run Selected Test" sur Test Explorer, ce ne sera pas le cas. Visual Studio 2013 fonctionne bien dans les deux sens.
Pour moi, mettre à jour le paquet Nuget de MSTest.TestAdapter
et MSTest.TestFramework
vers la dernière version résout le problème.
Jetez un coup d’œil au lien suivant, il ya une mise à jour qui corrige ce problème . Visual studio 2012 update 3.
Dans mon cas, le point d'arrêt ne peut pas être atteint s'il y a un ou des avertissements de construction. Je peux le vérifier en basculant la ligne de code avec avertissement. C'était une chaîne inutilisée de longueur 66000 . (Avertissement CS0219 La variable 'XXXXXXX' est affectée mais sa valeur n'est jamais utilisée)
Je suppose que le compilateur a supprimé cette ligne et que le mappage des symboles a échoué?
Solution: Sélectionnez "Tests unitaires de débogage" ou "Exécuter les tests unitaires" au lieu de "Tests de débogage" ou "Exécuter les tests".
Frapper "Exécuter les tests" ne déclenchera pas les points d'arrêt.
Pour déboguer votre code et vous arrêter à un point d'arrêt dans un test:
Clic droit> tests de débogage
ou
Onglet "Test"> Débogage> Tous les tests
Pour moi, le problème était qu'après la mise à niveau vers 2017 v15.5.7, les propriétés de ma solution avaient été modifiées d'une manière ou d'une autre. Ce qui fait que je pouvais exécuter le test une fois en mode débogage, mais pas encore, à moins que je ne redémarre VS, alors cela fonctionnerait à nouveau, une fois. Une fois que je l'ai remis, cela a encore fonctionné. Le paramètre était et devrait être pour moi Solution> Propriétés communes> Projet de démarrage> Plusieurs projets de démarrage. D'une manière ou d'une autre, il a été configuré sur "Projet de démarrage unique".
À partir de Visual Studio 2017 (15.8), cela peut se produire lorsque la fonctionnalité de test des unités réelles est active. Il n'y a pas de message clair dans la sortie; il commence juste et arrête sans débogage. La solution arrête les tests en direct afin que vous puissiez ensuite déboguer le test normalement.
Pour moi, ce qui suit a fonctionné:
Pour moi, le problème était que mon fichier de configuration ( app.config ) ne contenait pas le fichier de transformation de débogage ( app.Debug.config ), une fois que je l’ai ajouté, je recommence à travailler/à déboguer.
Les références de problème app.config peuvent provoquer involontairement le débogueur pour ne pas attacher et les points d'arrêt ne pas être touchés lors du débogage de projets tests. Ce fichier a peut-être été mis à jour par des packages ou est périmé.
Solution: en général, je copie, puis supprime toutes les dépendances sous la balise d'exécution du fichier app.config du projet test. Le débogage commence généralement après cela, mais il peut être nécessaire de rajouter certaines références si les assemblys sont introuvables.
Cela pourrait ne pas être une solution spécifique à votre problème, mais je ne pouvais pas non plus déboguer un test que j'avais écrit. Il s'avère que la solution était assez simple:
Modifiez la méthode de private
à public
. Je ne sais pas pourquoi le débogage n'est pas possible dans les méthodes privées, mais l'implémentation de l'attribut [Test]
y apporte probablement quelque chose. J'espère que cela aidera toute personne aux prises avec un problème similaire à l'avenir!