J'ai du mal avec VS 2017 depuis que je l'ai installé. Maintenant, il semble que les tests unitaires ne peuvent être exécutés qu'à partir de la ligne de commande "dotnet test." ;
Mon projet est .NET Core 1.1.1. J'ai installé le SDK et la mise à jour du framework pour 1.1.1.
J'ai essayé l'exemple sur MSDN (https://msdn.microsoft.com/en-us/library/ms182532.aspx) qui échoue exactement de la même manière.
Tous les paquets NuGet pour les tests et le projet principal sont à jour. Et le projet de test et le projet principal se construisent tous deux sans erreur. Et les tests s'exécutent avec succès à partir de la ligne de commande.
Quelqu'un a-t-il réussi à faire fonctionner les tests unitaires dans VS 2017, et si oui, comment ?
Merci, John
Voici un exemple d'un projet de test simple qui ne fonctionne pas sur [GitHub][1]. C'est un exemple avec xUnit mais j'ai essayé NUnit et les tests MS intégrés à Visual Studio. Peu importe les tests ou les changements que je fais, je n'arrive pas à faire en sorte que l'exécuteur de tests VS trouve des tests.
DEL %TEMP%\VisualStudioTestExplorerExtensions
.Microsoft.DotNet.InternalAbstractions
([voir le post SO][2])test -> test settings -> default processor architecture
est réglé sur x86La question Quelqu'un peut-il fournir un exemple fonctionnel d'une solution .Net Core 1.1.0 dans VS2017 (fichiers de projet .csproj) où l'explorateur de test VS trouve avec succès les tests unitaires OU** me montrer le problème dans l'exemple donné.
[1] : https://github.com/raykrow/xunit-vs2017/tree/master [2] : https://stackoverflow.com/questions/35103781/why-is-the-visual-studio-2015-2017-test-runner-not-discovering-my-xunit-v2-tests
Ne lisez pas les articles périmés sous MSDN. Les documents relatifs à .NET Core se trouvent sur docs.microsoft.com.
https://docs.microsoft.com/en-us/dotnet/articles/core/testing/
En général, vous avez besoin d'une application console .NET Core pour contenir les cas de tests unitaires.
Dans mon cas, c'est le projet UWP présent dans la solution qui a causé le problème.
Lorsque j'ai déchargé le projet UWP, les tests ont été découverts. Quand je l'ai rechargé, les tests ont à nouveau disparu.
Essayez de décharger tous les projets et ne gardez que le projet de test. Dix fois, reconstruisez la solution et le test apparaîtra dans Test Runner. Chargez les projets un par un et reconstruisez la solution à chaque fois pour découvrir quel projet est à l'origine du problème.
[exemple de repo][1]
[rapport de bogue VS][2]
[1] : https://developercommunity.visualstudio.com/storage/attachments/4036-bugreport.zip [2] : https://developercommunity.visualstudio.com/content/problem/38369/net-core-tests-are-not-discovered-when-uwp-project.html#reply-form
Le problème est que Visual Studio s'embrouille avec les versions de dotnet core sur la machine. Lorsque je suis allé dans le panneau de configuration -> désinstaller des programmes, j'avais 8 différents SDK et Runtimes dotnet core installés. D'une manière ou d'une autre, cela provoquait une erreur silencieuse de VS lorsqu'il essayait de trouver des tests.
Vous pouvez valider le problème en allant à la ligne de commande et en obtenant la version de dotnet sur $ dotnet --version
. Si vous voyez autre chose que la dernière version que vous avez installée, c'est que votre machine n'est pas compatible et n'utilise pas la bonne version. Exemple...Si vous avez installé dotnet core 1.0.1
mais que lorsque vous obtenez la version à l'invite de commande et qu'elle dit 1.0.0
c'est un problème.
Supprimez tous les vieux trucs. J'ai commencé avec seulement ce que je pensais devoir supprimer (les versions les plus anciennes de dotnet rc) mais cela donnait toujours la mauvaise version lorsque je testais le problème. J'ai fini par admettre qu'il fallait faire un nettoyage complet. I...
Après que ma machine ait été complètement vidée de tous les VS et donet, j'ai installé seulement VS2017 (il est fourni avec la dernière version de dotnet). J'ai créé un projet de test xUnit et l'explorateur de test a trouvé le test immédiatement SOLVED.
Cela peut sembler exagéré, mais j'ai passé deux semaines à essayer de résoudre ce problème par d'autres moyens. Si vous rencontrez ce problème, faites-le, même si cela peut vous prendre des heures pour désinstaller/réinstaller des éléments, cela vous fera probablement gagner du temps.
Voir @epestic [article de blog][1] où il donne plus de détails sur la résolution du problème.
[1] : http://code.fitness/post/2017/03/dotnet-core-vs2017-tests-not-working.html [2] : https://github.com/xunit/xunit/issues/1032