web-dev-qa-db-fra.com

Aucun test trouvé. Assurez-vous que les découvreurs de test et les exécuteurs de test installés, les paramètres de version de la plate-forme et de la structure sont appropriés et réessayez.

Je suis en train de mettre à niveau notre solution existante vers .Net 4.6.1 et je n'ai pas pu exécuter nos tests unitaires lors de la création d'un serveur. Localement, ils fonctionnent comme prévu et si la version du framework est basculée vers .Net 4.5.1, ils sont exécutés à nouveau sur le serveur.

Je reçois l'erreur suivante:

Aucun test trouvé. Assurez-vous que les découvreurs de test et les exécuteurs de test installés, les paramètres de version de la plate-forme et de la structure sont appropriés, puis réessayez.

J'ai reproduit le problème dans une configuration plus simple:

  • Solution avec un seul projet de test unitaire C # avec deux tests (un échec, un échec).
  • Définition de génération XAML À l'aide du modèle par défaut (TfvcTemplate.12.xaml)
  • TFS 2015 Update 1 Serveur de génération XAML avec Visual Studio Enterprise 2015 Update 1 Installé (disposez de six serveurs similaires et produisent tous le même résultat)
51
Tore Østergaard

Vous pouvez essayer de modifier votre architecture de processeur default dans votre configuration de test de X86 à X64. Dans mon cas, c'était le problème.

Cela se produit si la cible de la plateforme de votre projet à tester est définie sur x64.

 Screenshot of test settings

34
rubeonline

Ma construction ne trouvait pas les tests non plus. Ma configuration et ma solution pour trouver les tests sont les suivantes. 

J'utilise VSTS (Visual Studio Team Services) et je dispose d'une version configurée pour actualiser les packages NUGET à chaque génération. J'utilise NUnit et j'ai constaté que l'exécution de la commande NUGET suivante (à partir de la console du gestionnaire de packages de Visual Studio) permettait d'ajouter la bibliothèque NUnitTestAdapter à mon projet de test et que la vérification dans packages.config permettait aux tests de s'exécuter dans ma version VSTS.

Install-Package NUnitTestAdapter

Comme Maurice le mentionne dans le commentaire de ce message pour NUnit3, utilisez le package NUGET suivant (recherchez d’autres utilitaires sur le lien. Par exemple: CLI de dotnet et CLI de Paket)

Install-Package NUnit3TestAdapter

J'espère que cela t'aides.

26
Nick Rubino

Dans mon cas, je devais:

1) convertir le test proj en netcore 2.0 (était-il netstandard 2.0)

2) ajouter le paquet de nuget xunit.runner.visualstudio

Référence: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/

11
woohoo

J'utilise MSTest. Pour moi, c'était version missmatch et il manquait un autre paquet dépendant -

1) Mon dossier de package contient uniquement le package MSTest.TestFramework.1.2.1. Dans mon fichier de projet (.csproj), la référence dans Nom de la cible était MSTest.TestAdapter.1.2.0 package qui n'était pas présent dans le dossier du package. Mon packages.config a également une référence de MSTest.TestFramework.1.2.0.

2) J'ai donc installé MSTest.TestAdapter.1.2.0 à partir du gestionnaire de packages Nuget et aligné la version de MSTest.TestFramework sur 1.2.0 dans le fichier de projet et de package. Enfin, j'ajoute Microsoft.VisualStudio.TestPlatform.TestFramework et Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions dans la référence. 

Ensuite, tout allait bien. J'espère que cela aidera quelqu'un.

6
quasar

J'ai eu cette erreur et j'ai pu la résoudre.

  1. J'utilise Visual Studio Professional 2017
  2. Dans VS, j'ai navigué dans Outils -> Extensions et mises à jour
  3. En haut du menu, j'avais remarqué que mon adaptateur NUnit était désactivé
  4. J'ai cliqué sur le bouton [Activer]
  5. J'ai pu initier des tests sans erreurs.
6
J Wood

Ce problème se pose à nouveau pour Visual Studio 2017 . Probablement un autre bogue, mais le même résultat.

Une solution de contournement qui semble fonctionner consiste à désinstaller le débogueur distant Microsoft Visual Studio 2017 de la machine affectée.

5
Csapi007

J'ai rencontré le même problème dans VSTS avec .Net 4.6.2. Si vous voyez cela depuis la sortie de votre console VSTS, la solution de contournement fournie par @Sushil fonctionne toujours dans VSTS et est nécessaire. Malheureusement, la tâche "Assemblées de test" fournie par Microsoft échoue. Vous ne savez donc vraiment pas qu'il y a un problème, à moins de vérifier le résultat et de ne trouver aucun de vos tests réellement exécutés!

 VSTS Test Fix

3
raterus

Ceci est un problème connu de .Net 4.6 maintenant.

Impossible d'exécuter les tests unitaires .Net 4.6.x dans le cadre d'une construction XAML TFS avec TFS 2015 UPdate1 Source:https://connect.Microsoft.com/VisualStudio/feedback/details/2245723

Voici une question similaire pour votre référence: Impossible d’exécuter les tests unitaires .Net 4.6 du serveur de génération XAML TFS 2015

2
PatrickLu-MSFT

J'ai résolu ce problème par problème dans le projet de test VS 2017 & 4.6.2 en procédant comme suit:

  1. Supprimer les références à Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll et ses extensions
  2. Installez le nuget Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated
2
Ste Brown

Je vais jeter ma solution sur le tas. Dans mon cas, j'ajoute quelques projets à une solution existante ainsi que des projets de test pour eux. Nous utilisons MSTest. Un fichier UnitTest.testsettings précédemment activé sur la solution posait des problèmes de compatibilité. 

En cliquant sur le fichier de paramètres, la vérification a été supprimée et le test a réussi pour mes tests. 

 enter image description here

1
jwatts1980

J'ai résolu ce problème en réinstallant tous les packages NuGet liés aux tests du projet: Xunit, Xunit.runner.vistualstudio, Microsoft.Net.Test.Sdk

1
n.shojaei

J'ai trouvé un moyen! Ce n'était probablement pas le plus orthodoxe, mais cela m'a rapidement aidé:

  1. Mettez à jour les packages MSTest.TestAdapter et MSTest.TestAdapterFramework vers la version 1.4.0 à partir de la commande Outils> Gestionnaire de packages NuGet.
  2. Nettoyez la solution et relancez les tests.

Je ne pense pas qu'il y ait quoi que ce soit de particulier dans la version, mais sa mise à jour élimine certainement toute référence mauvaise dans la solution/projet.

1
dave_077

J'avais un problème similaire et j'ai remarqué qu'un fichier app.config avait été ajouté à mon projet test. La suppression de ce fichier de configuration l'a corrigé pour moi.

1
thatWiseGuy

Assurez-vous que le nuget "Microsoft.NET.Test.Sdk" est installé.

1
lordpansar

J'ai rencontré le même problème lorsque j'ai essayé nUnit dans VS 2017 et ce n'est pas un projet principal . L'installation de NUnit3TestAdapter a résolu le problème.

0

J'ai eu cette erreur parce que ma classe de test d'unité n'était pas publique.

Ex:

class ClientTests

Erreur en sortie:

...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests

Correction:

public class ClientTests

0
Jared Beach

Après avoir ajouté TestAdapterPath dans le commandant, cela a fonctionné pour moi:

vstest.console.exe Xom.Gci.Lvf.FileParserInvoker.UnitTests.dll /TestAdapterPath:"C:\****\****\{SolutionFolder}"
0
dixiashi

Dans mon cas, réinstaller Nunit3 Adapter, supprimer des dossiers temporaires, changer d’architecture et rien ne fonctionnait. C'est à cause du démon Resharper a causé le problème.

Add or Remove Programs> Find Resharper > Repair > Install again > Restart VS 

Cela résout les problèmes.

0
user1570636

Cette erreur peut se produire pour les tests asynchrones si le type de retour que vous utilisez est incorrect. Le type de retour doit être Task et non null.

0
user3533716

Dans Visual Studio 2017, je viens de désinstaller et de réinstaller NUnitTestAdapter ou d'installer un nouveau package tel que le package NUnitTestAdapter.WithFramework.

0
Ali Yousefie

Ceci est juste pour récapituler la solution proposée par @Sushil plus tôt.

Il s'agit d'un problème connu dans Team Foundation Server 2015 RTM + Update 1 et qui sera résolu dans Update 2, référence .

Il existe une solution de contournement décrite par @Sushil here , qui inclut l’ajout d’un fichier .runsettings qui force le programme d’exécution de test à utiliser un environnement .Net plus ancien. l'ajouter directement dans l'éditeur de processus de construction sera ignoré).

0
Tore Østergaard

Si vous exécutez vos tests dans docker en utilisant un bâtiment à plusieurs étages, les tests ne sont pas trouvés. Assurez-vous de copier tous les fichiers, pas seulement les fichiers de projet, comme indiqué ci-dessous dans la section Dockerfile.

FROM mcr.Microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["MainProject/FirstApp.csproj", "MainProject/"]
COPY ["TestProject/*", "TestProject/"]

RUN dotnet restore "TestProject/TestProject.csproj"
RUN dotnet build "TestProject/TestProject.csproj" -c Release
RUN dotnet test "TestProject/TestProject.csproj" -c Release
0
Bassam Gamal

J'ai le même problème. J'utilise Visual Studio 2017 Community Edition. 

 enter image description here

J'ai utilisé ces étapes pour découvrir tous mes cas de test et l'exécuter avec succès:

  • Tout d'abord, allez à Extensions et mises à jour, installez NUnit3 Test Adapter. Si vous l'avez déjà, activez-le.

  • Redémarrez votre Visual Studio 2017, il sera automatiquement invité à
    installez votre extension si un message invite à terminer la tâche pour continuer
    Pour l'installation, cliquez simplement sur "Fin de tâche".

  • Après cela, reconstruisez votre projet de test et tous les scénarios de test seront désormais identifiés

0
Willy David Jr

Dans mon cas, les tests ont été découverts, mais l'exécution a donné "Test not Available ... " et le (en) célèbre: "Assurez-vous que le testeur et les exécuteurs sont enregistrés et que la version de la plate-forme et de la structure est les réglages sont appropriés et réessayez. "

l'erreur était indépendante de Visual Studio (testée à partir des outils CLI de dotnet et du test UNit presque nu) et uniquement lors du ciblage de .NET 4.7.1. L'application dotnetcore fonctionne bien.

les tests en cours avec Nuint3 CLI nunit3-console.exe Tests.csproj indiquent également l'erreur:

"L'un des deux ensembles ne contient aucun test ou le pilote de test approprié n'a pas été trouvé."

l'erreur était due au fait que l'adaptateur de test était introuvable sur un lecteur réseau (mappé) ou un partage et qu'il a été résolu par copiez-le localement et réexécutez-le.

0
Falco Alexander

À l'aide de .Net Core avec un pipeline de génération dans TFS 2017, l'étape de test de Visual Studio s'est déroulée sans exécuter aucun test. Devait éditer l'étape "Options d'exécution avancées" -> "Autres options de la console" pour inclure:

/framework:".NETCoreApp,Version=v2.0"

(Ce champ contient également /platform:x64)

0
Mark
  1. Installez la dernière version de Nunit et NUnitTestAdapter à partir du package NUGET.
  2. Allez dans ----> Test -----> Paramètres de test ---> Architecture de processeur par défaut ------> Passer à X64
  3. Construisez la solution.
  4. Cela résoudra le problème Exécuter le test et le débogueur lors des tests unitaires et commencera à fonctionner.