Pourquoi est-Visual Studio 2015/2017/2019 Test Runner pas à découvrir ma xUnit v2 tests
Mise à JOUR: Ajout d'un 2019; la découverte/runner mécanisme d'intégration est la même que pour 2017 & 2015, de sorte que la clé de choses qui peuvent mal se passer sont les mêmes.
J'ai lu Pourquoi le xUnit coureur de ne pas trouver mes tests, qui couvre les raisons xUnit serait jamais être en mesure de trouver vos tests mais mon problème est différent, je suis convaincu qu'il n'y a rien de subtil avec mes essais; ils ont travaillé dans d'autres environnements, ce qui semble être juste ma machine) - Visual Studio Test Runner dans Visual Studio 2015 [Community Edition] n'est tout simplement pas montrer tout de mes tests. Je ne vais pas faire quelque chose à distance excitant; les tests de cible xUnit.net v2 sur le Bureau.
J'ai regardé dans la fenêtre de Sortie et ne suis pas le voir rien du tout en vertu de Test dans le Spectacle de sortie de onglets.
- connexes: stackoverflow.com/questions/16214684/...
- C'est juste un problème possible, mais bien sûr, vous devez compiler le projet de test avant de il sera affiché dans l'explorateur de tests.
- connexes: stackoverflow.com/a/29589576/6913871
- Cela a fonctionné pour moi - stackoverflow.com/questions/42861930/...
Vous devez vous connecter pour publier un commentaire.
Éliminer la découverte des exceptions à vos demandes de renseignements, allez à la Fenêtre de sortie (Ctrl-Alt-O), puis passer le spectacle de sortie de déroulante (Shift-Alt-S) à Tests et assurez-vous il n'y a pas de découverte des exceptions
Comme indiqué dans cette réponse(upvote si la technique permet)
l'exécution de la console de bureau runner (instructions) peut être une bonne vérification croisée d'éliminer les autres possibilités, par exemple de déformation des fichiers de configuration:-
Test|Test des paramètres par Défaut de l'architecture du processeur peut vous aider si vos tests sont x86/x64 spécifiques et la découverte de déclenchement bittedness liées à des exceptions, c'est à dire pas AnyCpu
Aller lire la documentation - c'est complet, à jour, comprend la résolution d'infos et prend PRs:-
Les étapes suivantes fonctionné pour moi:
(Seulement si vous croyez qu'il y a un grave désordre sur votre machine - en général le cas le plus fréquent est que l'intégration de visual studio n'est tout simplement pas encore installé)
Ne le
DEL %TEMP%\VisualStudioTestExplorerExtensions
comme conseillé :-PS> del $env:TEMP\VisualStudioTestExplorerExtensions
Installer le Package NuGet
xunit.runner.visualstudio
dans tous les projets de testPaket:
Vous avez besoin pour terminer avec les éléments suivants dans votre
paket.dependencies
:nuget xunit.runner.visualstudio version_in_path: true
Note le
version_in_path: true
peu importeNuget: Allez à Gestionnaire de paquets de la Console (Alt-T,N,O) et
Reconstruire pour s'assurer
xunit.runner
finit à la sortie dirFermer l'Explorateur de tests <- c'était le manque peu pour moi
Ré-ouvrir l'Explorateur de tests (Alt-S,W,T)
Exécuter Tous les tests (Ctrl R, A)
resetsettings
docs.microsoft.com/en-gb/visualstudio/ide/reference/... )%TEMP%\VisualStudioTestExplorerExtensions
et redémarrage VS finalement travaillé!Aucune des deux solutions n'a fonctionné pour moi (dotnetcore 1.1, VS2017). Voici ce qu'il fixe:
Package "De Microsoft.NET.Test.Sdk"
Ceux qui sont en plus de ces paquets que j'ai installé avant:
(2.3.0-beta1-build1309)
J'ai dû changer les Paramètres de Test après le test des projets de CPU pour x64.
Ensuite, les tests où de nouveau détecté.
Installer
xunit.runner.visualstudio
package pour le projet de testÀ suivre cette procédure :
MsTest.TestAdapter
etMsTest.TestFramework
dll's
denugget package manager
.%TEMP%\VisualStudioTestExplorerExtensions
et encore parfois je devais exécuter les tests à partir de la console.J'ai eu du mal avec ce tout l'après-midi tout en travaillant avec un ASP de projet de Base et xUnit 2.2.0. La solution pour moi a été l'ajout d'une référence à
Microsoft.DotNet.InternalAbstractions
J'ai découvert cela quand vous essayez d'exécuter le projet de test manuellement avec
dotnet test
qui a échoué, mais il a affirmé queInternalAbstractions
manquait. Je n'ai pas vu cette erreur dans la fenêtre de résultat de test lors de la détection automatique a échoué. La seule info que j'ai vu dans la découverte de la fenêtre est un code de retour, qui ne voulait rien dire pour moi à l'époque, mais avec le recul, était probablement indiquant une erreur.Ça m'est arrivé une couple de fois, lorsque je nettoie le projet et de le créer encore une fois il a tendance à être beaux.
Après avoir passé 2 jours... aucun des ci-dessus a fonctionné pour moi. La seule "solution" est:
Allez à propriétés de projet -> Onglet créer. Puis cliquez sur le bouton Avancé sur le coin inférieur droit de la fenêtre. Changement de "Debug Info:" à "plein" et cliquez sur OK.
Voici les captures d'écran:
Je suis en utilisant xUnit 2.2.0.
Mon problème a été ma solution n'a pas pu trouver certaines des dll et
app.config
s'efforce de les résoudre. L'erreur a été de ne pas apparaître dans la fenêtre de résultat de test de Visual Studio.J'ai été en mesure d'identifier l'erreur quand j'ai installé
xunit.runner.console
et essayé d'exécuter les tests en ligne de commande.Comment faire pour exécuter xunit tests en CLI.
La raison dans mon cas, a été la cible de construire n'était pas le même entre le débogueur du projet et de test runner. Pour unifier ces éléments:
Après ils sont identiques, la reconstruction de votre solution ensuite les méthodes de test apparaîtra pour vous.
Je peux fournir une solution pour un cas limite que j'ai rencontré il y a quelques jours. Il ne va pas être la solution qui s'adapte à tous les scénarios décrits ci-dessus, cependant, pour le cas limite je l'avais fixé.
J'ai eu le même problème avec les plus récentes VS 2017 (version 15.5.7) et XUnit 2.3.1. Le xunit.runner.visualstudio paquet a été installé, cependant, les tests ne sont pas dans VisualStudio intégré dans l'explorateur de tests.
Je travaillais sur un projet ancien qui a été le ciblage .NET framework 4.5. Cependant, à partir de la version 2.2. XUnit ne prend pas en charge .NET cadres inférieurs thant 4.5.2 (voir Notes De Version - XUnit 2.2: 19 Février 2017
Le test cible du projet de cadre à une version >= 4.5.2 a fonctionné pour moi. Vous n'avez pas à changer de version du projet que vous faites des tests, c'est juste sur le projet de test lui-même.
Cela peut également être dû à l'accumulation de case à cocher ne pas être cochée pour l'actuel projet de plate-forme dans la configuration de build.
Cliquez sur créer | Configuration manager, puis assurez-vous que les projets de test ont une coche dans la construction de la colonne pour la plate-forme que vous utilisez (par exemple 'x86').
Ce fut certainement la solution qui a fonctionné pour moi.
Assurez-vous que vous n'avez pas écrit des tests unitaires dans un .NET Standard 2.0 de la Bibliothèque de Classe. Le visualstudio coureur ne prend pas en charge l'exécution des tests dans netstandard2.0 bibliothèques de classe, au moment d'écrire ces lignes.
Vérifiez ici pour le Test Runner matrice de Compatibilité:
https://xunit.github.io/#runners
Dans mon cas, j'ai eu 2 différents projets de test de la solution. Projet 1 test n'a pu être trouvé, mais le Projet 2 tests ne pouvait pas. J'ai trouvé que le premier Déchargement du Projet de test 1, puis de la fermeture de VS > effacer mes fichiers temp > ré-ouvrir la solution > reconstruire, a permis à VS pour découvrir mon Projet 2 tests.
Je suis en supposant que quelque chose doit être contradictoires entre les deux projets de test et c'était la façon la plus rapide de me lever et de courir dans quelques minutes. Les problèmes peuvent être résolus plus tard :).
A couru dans un problème similaire avec VS pas de découvrir les méthodes de test. Dans mon cas, j'ai eu le mot-clé static avec la méthode, qui je l'ai enlevé et ça a fonctionné.
Je souffre de ce problème pendant de longues périodes.
J'ai eu environ 100 projets de version différente a été déployés dans les différents serveur.
Mise à jour xunit de 2.2.0 à l'article 2.3.1 n'était pas une solution parce que construire n'était pas au point 2.3.1.
Ensuite, j'ai juste mis à jour xunit.runner.visualstudio à 2.3.1 et tout a commencé à bien fonctionner.
J'ai utilisé cette commande dans mon colis de la console du gestionnaire de mise à jour de mon xunit.runner.visualstudio paquet
La plus probable pour moi a été de Visual Studio essayant d'exécuter les tests à l'aide d'une architecture différente de celle de la bibliothèque de tests. Malheureusement, il y a plusieurs endroits où il semble que ce qui peut aller mal.
VS 2017, essayez de créer une Exécutez le fichier de Paramètres, par exemple
Default.runsettings
dans votre projet de test. Si votre principale lib est de 64 bits, le contenu doit être:Puis choisissez ce fichier de Test -> Paramètres de Test -> Sélectionnez Paramètres de Test de Fichier.
Puis, en cours de Test -> Tester les Paramètres par Défaut de l'Architecture du Processeur, de choisir la bonne architecture de nouveau.
Assurez-vous de Nettoyer et de Construire l'ensemble de la solution. Vous devrez peut-être fermer et rouvrir le Test de la fenêtre de l'Explorateur. Recherchez les erreurs supplémentaires dans la Sortie -> fenêtre de Test, plus d'informations incorrectes types d'architecture.
Pour info supplémentaire des Paramètres de Test des entrées peut être trouvé ici.
Il y a une autre raison qui peut provoquer l'Explorateur de tests ne montre pas de tests, et il a à voir avec le nouveau portable
.pdb
format de fichier introduit avec Visual Studio 2017 /pour .NET de Base qui peut briser certains VS outillage. (Contexte: Voir le rapport de bug "Mono.Cecil causes OutOfMemoryException avec de nouveaux .csproj Pdb".)Vos tests ne trouve pas à cause de la nouvelle portable
.pdb
(symboles de débogage) format?Si vous voyez le résultat, comme pour les suivantes (éventuellement répété une fois pour chacun de vos tests), alors vous avez le problème décrit dans cette réponse:
Si oui, faites ceci pour résoudre le problème:
none
,pdb-only
, oufull
, mais PASportable
. C'est ce dernier paramètre qui provoque les tests pour ne pas être repéré..pdb
fichiers avant de reconstruire. Maintenant vos tests devrait être de retour.S'imposait à moi quand j'ai pris ma première marche de tentatives avec IntelliTest VS 2017.
Parfois, lorsque le projet de test devient auto-créé par IntelliTest, l'assemblée référence à
Microsoft.ExtendedReflection
(...\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\Pex\Microsoft.ExtendedReflection.dll) est manquant.Lorsqu'il est ajouté, à la génération de Tests sera affiché dans l'explorateur de tests après recompilation.
Avertissement: il ne s'agit pas xunit avec visual studio 2015, mais Visual Studio 2017 avec un UWP de test de l'unité d'application (MSTest). J'ai eu à ce fil, à la recherche de la même chose alors peut-être que quelqu'un d'autre fera de même 🙂
La solution pour moi a été de mettre à jour les packages nuget pour MSTest.TestAdapter et MSTest.TestFramework. Il semble que lorsque vous créez une unité d'application de test pour UWP vous n'avez pas d'obtenir automatiquement les dernières versions.
Dans mon cas, j'ai plusieurs projets de test dans la même solution, et seulement un de ces projets était de ne pas afficher le "Test" Explorateur de
Je suis allé à la "Gestion de Package Nuget pour la Solution" par un clic droit sur la solution.
J'ai remarqué en vertu de la "Consolidation" de l'onglet il y a une certaine "Test" packages nuget qui étaient hors de la synchronisation entre les projets. J'ai cliqué sur "Installer" et mon manque de tests a montré jusqu'à.
J'ai essayé la plupart des suggestions ci-dessus et rien n'a fonctionné. Dans mon cas, je suis sur une équipe et des tests ont été affichés pour les autres devs pour la même solution. Donc, j'ai tenté juste la suppression de mon .vs dossier, mais pas de chance il soit.
J'ai fini par la suppression de mon dossier local entièrement et re-cloner le repo. Qui a résolu pour moi.
Voici la solution qui a fonctionné pour nous. Pas le meilleur, mais peut-être qu'on peut en profiter.
De fond:
À Construire, nous permettrait de voir ce message:
Solution (temporaire):
Maintenant les Tests sont affichés.
xUnit v2 tests
dans le titre.Aussi vérifier si complètement vide app.fichier de configuration (complètement vide avec absolument aucun balisage) est dans le projet de test. C'était le coupable dans mon cas.
Dans mon cas, j'ai créé une nouvelle "Configuration de la Solution" comme indiqué dans l'image. Alors, quand je sélectionne mon personnalisés en "Prod", il ne marche pas reconnaître TestMehods pour une raison quelconque. De changer à nouveau de "Debug" résout le problème
Je ne sais pas si certains d'entre vous utilisent également JustMock, mais j'ai dû désactiver le générateur de profils en VS 2017 pour le test de détection de travailler.
Mon problème a été résolu par l'installation de la nuget xunit.runner.visualstudio
J'ai eu de nombreux projets de type différent dans ma solution et je ne pouvais pas exécuter le Xunit projet de test. J'ai déchargé tous, sauf mon Xunit projet et puis de reconstruire la solution la tests est apparu dans visual studio et j'ai pu les exécuter.
Vous devez le mettre à jour tous les paquets lorsque vous déplacez VS2015 à VS2017 pour découvrir de test dans le test de l'explorateur.
J'ai Effacé Temp, %Temp% et Prefetch. Ensuite tenté de rouvrir VS et a été en mesure de trouver les méthodes de test
J'ai un projet de test A et B. les Tests dans Un Projet où les découvertes, mais la Découverte ne s'est jamais arrêté pour B. j'ai dû le supprimer manuellement TestHost pour faire arrêter.
J'ai fait beaucoup de choses cette page décrit au point même que je ne suis pas sûr que c'était la solution.
Maintenant, cela a fonctionné, et la chose que j'ai faite a été d'ouvrir la Solution et de ne PAS avoir le Test Explorer. Au lieu de cela je viens de vérifier la fenêtre de Sortie pour les Tests que j'ai pu voir, le processus de découverte de fin et le nombre de test où égale à A+B. Après cela, j'ai ouvert l'Explorateur de tests et puis à la fois A et B, le cas échéant.
Donc:
Désinstaller et Installer la dernière xUnit choses correctement. Supprimer le dossier %temp% comme mentionné ci-dessus, Ajouter le Package NuGet "de Microsoft.TestPlatform.TestHost"
Ajouter Le Package NuGet "De Microsoft.NET.Test.Sdk", redémarrer, mais seulement de vérifier les Tests de Sortie. Si cela fonctionne, u vais voir
Microsoft.TestPlatform.TestHost
ouMicrosoft.NET.Test.Sdk
mais j'apprécie la frustration, de la documentation des trucs que vous avez fait dans le but d'atteindre la finale dans votre contexte (volonté +1 dois-je gérer pour vérifier cela comme une étape spécifique qui fait une différence)J'ai eu le même problème avec Visual Studio 2019. Viens d'installer la suite de packages NuGet et le problème a été résolu.
1). xUnit
2). xunit.runner.visualstudio
3). Microsoft.TestPlatform.TestHost
4). Microsoft.NET.Test.Sdk
laissez-moi savoir, merci