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'échantillon sur MSDN ( https://msdn.microsoft.com/en-us/library/ms182532.aspx ) qui échoue aussi 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 depuis la ligne de commande.
Quelqu'un a-t-il réussi à faire fonctionner des tests unitaires dans VS 2017, si oui comment ?
Merci, John
Mise à jour - Extension
Voici un exemple d'un projet de test simple qui ne fonctionne pas sur GitHub . Il s'agit d'un exemple avec xUnit mais j'ai essayé NUnit et les tests MS intégrés à Visual Studio. Quels que soient les tests ou les modifications que je fais, je ne parviens pas à ce que l'exécuteur de tests VS trouve des tests.
Ce que j'ai essayé
- Suppression des fichiers cache des tests VS
DEL %TEMP%\VisualStudioTestExplorerExtensions
- Redémarrage de VS
- Fermeture/ouverture de l'explorateur de test
- pour xUnit installé
Microsoft.DotNet.InternalAbstractions
( voir poste SO ) - pour NUnit, assurez-vous que l'adaptateur est installé et que la même version (3) que le paquet NUnit est installée.
-
test -> test settings -> default processor architecture
est réglé sur x86
La 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 tests VS trouve avec succès les tests unitaires ? OU montrez-moi le problème dans l'exemple donné.
0 votes
J'ai découvert que VS2017 n'installe pas tous les paquets requis. Lorsque j'ai essayé de déplacer mon MonoGame de l'ancien PC vers le nouveau avec Windows 10 fraîchement installé et VS 2017, il a commencé à envoyer des erreurs bizarres sur les paquets manquants. Après avoir installé VS2015 en même temps que VS2017, tous les problèmes ont disparu. Essayez peut-être d'installer VS2015 en plus.
2 votes
Essayez d'installer les paquets de tests avec l'installateur de Visual Studio
0 votes
Je cherche à savoir si toutes les variables d'environnement de VS 2017 sont correctement définies.
1 votes
Pour NUnit, vous devez utiliser le paquet NuGet pour l'adaptateur et il doit être 3.8.0-alpha1 ou plus récent.
3 votes
Dans mon cas, c'était la simple présence d'un
app.config
dans mon projet de test : stackoverflow.com/a/47497668/67824 .0 votes
Dans mon cas, il a suffi de reconstruire la solution pour que NuGet restaure les paquets manquants. Ce qui n'allait pas dans mon cas, c'est que l'environnement de test était réglé sur x86 et que le réglage sur x64 permettait aux tests unitaires de s'exécuter. Allez dans Test -> Test Settings -> Default Processor Architecture -> x64 (si vous exécutez les tests unitaires sur une architecture CPU x64). J'espère que cela vous sera utile.
0 votes
Le chemin vers %TEMP% est "généralement" à C:\Users (votre nom d'utilisateur) \AppData\Local\Temp
0 votes
J'ai supprimé tous les fichiers de mon dossier %TEMP% et cela a fonctionné. Je n'avais aucun fichier cache de test VS.
0 votes
J'ai trouvé 2 versions de l'adaptateur de test dans mon dossier temporaire - extensions. La sortie du build montrait que l'adaptateur de test était appelé mais ne montrait jamais quelle version était utilisée et rien n'apparaissait dans l'explorateur de test. Supprimer les deux était suffisant pour que le projet ne restaure que la dernière version et qu'une reconstruction remplisse mes tests.