web-dev-qa-db-fra.com

VS2017 et NUnit 3.9 Aucun test n'est disponible

J'utilise la dernière version de VS2017 15.6.4, NUnit3TestAdapter 3.10.0 et Nunit version 3.9.0.0. 

Lorsque j'essaie d'exécuter un test unitaire dans Test Explorer, les tests sont estompés, lorsque je clique avec le bouton droit de la souris et que je lance les tests sélectionnés, je vois l'erreur suivante: Aucun test n'est disponible Voici à quoi ressemble ma classe de tests

    [TestFixture]
    public partial class ListViewBOTest
    {
    [Test]
     public void TestSearch_DateTime()
      {
        Assert.AreEqual(1,0);
      }

    }

 Here is a screenshot of my tests

Texte de la sortie:

[3/26/2018 10:53:55 AM Informational] ------ Run test started ------
[3/26/2018 10:53:55 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[3/26/2018 10:53:55 AM Informational] Running all tests in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit failed to load C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[3/26/2018 10:53:56 AM Warning] No test is available in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[3/26/2018 10:53:56 AM Informational] ========== Run test finished: 0 run (0:00:01.0435303) ==========
13
Amete Blessed

J'ai eu le même problème qu'Amete Blessed et commenter d'autres méthodes de test a permis à Test Explorer de fonctionner et d'exécuter mon test.

1
Cubelaster

Assurez-vous que vous avez installé l'adaptateur de test NUnit3 à partir d'ici.

https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter

19
Peter Morris

Pouvez-vous vérifier les étapes suivantes et voir si cela fonctionne?

  1. Dans le menu Visual Studio, accédez à Test > Test Settings > Default Processor Architecture et notez si X86 est sélectionné ou X64.
  2. Passez maintenant à la section Build de la fenêtre Properties du projet où les tests sont écrits. Assurez-vous que la liste déroulante Platform target est sélectionnée pour Any CPU ou au moins correspond à l'architecture du step 1 ci-dessus.

Maintenant, si vous générez la solution et essayez d'exécuter ces tests, vous devriez voir qu'ils s'exécutent maintenant.

11
hem

J'ai trouvé que mes événements de construction étaient faux. Une commande de copie non valide a gâché tous mes tests et une demi-journée:

Copy C:\repo\Architecture\*.json $(ProjectPath)/Y
Copy C:\repo\Architecture\*.json $(TargetPath) /Y

au lieu de 

Copy C:\repo\Architecture\*.json $(ProjectDir)/Y
Copy C:\repo\Architecture\*.json $(TargetDir) /Y
1
Erik McCarty

Après avoir installé NUnit via nuget, des tests sont apparus dans Test Explorer L’installation de NUnit Test Adapter a résolu le problème.

1

Les messages de la fenêtre Sortie de test ("NUnit n'a pas pu charger [Assembly]", "Aucun test n'est disponible ...", etc.) peuvent masquer le problème sous-jacent qui empêche le coureur de charger l'assembly de test. Cela inclut le masquage des échecs lors du chargement des dépendances de l'assemblage de test ou de l'élément à tester.

Si un test Assembly apparaît dans la fenêtre Test Explorer, mais que les tests refusent de s'exécuter, il est intéressant d'activer temporairement la fusion afin de voir si des erreurs de liaison Assembly se produisent lors de la tentative d'exécution des tests.

1
Phil

Vous avez peut-être été victime de ce problème résolu (théoriquement) en 15.6.3. Selon cette réponse , essayez de supprimer votre dossier %temp%\VisualStudioTestExplorerExtensions. Cela a résolu le problème pour certains autres utilisateurs.

0
Nick DeVore

Plutôt que d'utiliser l'Explorateur de tests, pouvez-vous cliquer avec le bouton droit de la souris sur la solution et exécuter les tests unitaires à partir de là?

0
Nick Booth

Ce qui a fonctionné pour moi a été de supprimer le dossier ComponentModelCache situé à %localappdata%\Microsoft\VisualStudio\<version>

0
Joakim M. H.

Avait le même problème. Dans mon cas, j'ai constaté que l'adaptateur de test NUnit ne sera pas utilisé par Test Explorer si votre projet de test contient une référence à MSTest. En règle générale, Microsoft.VisualStudio.TestPlatform.TestFramework.dll, mais vérifiez également que votre fichier .csproj contient "MSTest" et votre fichier packages.config.

J'ai découvert cela en activant d'abord la journalisation de diagnostic pour les tests de Visual Studio. Cela se trouve sous "Outils" -> "Options" -> "Tests" -> "Niveau de journalisation".

Dans mon journal, j'ai trouvé cette entrée:

[22/11/2018 10:36:42 Diagnostic] Le projet C:\Git\myProject\src\myProject.Tests\myProject.Tests.csproj fait référence à l'adaptateur de test: MSTest.TestAdapter, version 1.1.18

0
Rob Powell

J'ai eu un problème similaire lors de l'utilisation de Xamarin.Forms . La solution a été d'installer NUnit.XForms de NuGet et

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />

dans le fichier csproj du projet où se trouvent les tests.

0
AGR