web-dev-qa-db-fra.com

Les tests unitaires NUnit n'apparaissent pas dans Test Explorer avec Test Adapter installé

J'ai installé NUnit Test Adapter pour VS2012 + 2013. Lors de ma première installation, les tests de l'adaptateur apparaissaient, mais ils ne l'ont pas été pour une raison quelconque aujourd'hui. Après la construction, la reconstruction, le nettoyage, le redémarrage, rien ne s'affiche dans Test Explorer. Pourquoi cela arriverait-il? J'utilise VS2013 Ultimate.

129
RobVious

Si votre projet de test est configuré pour cibler une plateforme 64 bits, les tests ne s'afficheront pas dans l'adaptateur de test NUnit.

78
Brannon

Si vous utilisez une version NUnit3 + version , un nouvel adaptateur de test est disponible.

Allez dans "Outils -> Extensions et Mises à jour -> En ligne" et recherchez "NUnit3 Test Adapter" puis installez-le.

167
Ricardo França

Mon test Assembly est 64 bits. Dans la barre de menus située en haut de visual studio 2012, j'ai pu sélectionner "Test" -> "Paramètres de test" -> "Architecture du processeur par défaut" -> "X64". Après une "solution de reconstruction" dans le menu "Générer", j'ai pu voir tous mes tests dans Test Explorer. J'espère que cela aidera quelqu'un d'autre à l'avenir = D.

57
Simoyd

Installez "NUnit Test Adapter" 

Outils -> Extensions et mises à jour -> En ligne -> Recherchez "Nunit Test Adapter" -> Cliquez sur "NUnit Test Adapter" dans la liste des résultats -> Cliquez sur le bouton Télécharger

46
Nilesh

Vérifiez si les versions de NUnit ne correspondent pas. L'adaptateur de test NUnit actuellement disponible ne fonctionne que pour NUnit version 2.6.4 et ultérieure. Pour rétrograder NUnit à partir de la version 3.x, accédez à Console du gestionnaire de package> update-package NUnit -version 2.6.4

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html

29
collo

Dans ma situation, le 'NUnit3 Test Adapter' a été désactivé . Pour le réactiver, allez au menu

Outils-> Extensions et mises à jour ...

Sur le côté gauche, sélectionnez "Installé" -> "Tous".

Dans le coin supérieur droit, recherchez 'nunit'.

Si vous avez installé 'NUnit3 Test Adapter', vous pouvez l'activer/le désactiver avec l'élément trouvé.

 enter image description here

22
sahl04

Si vous utilisez VS 2017 et .net core, comme indiqué par ici , vous devez ajouter des références au framework de test NUnit 3.6.1, au lanceur de test NUnit3TestAdapter 3.8.0. -alpha1 et au SDK de test Microsoft.NET.Test.Sdk 15.0.0.

10
Arvand

Cette réponse semble assez basique, mais elle n’a pas été tout à fait évidente au début. Si vous (re) construisez la solution, elle ne construira que les projets configurés pour construire le Build -> Configuration Manager 

C’était mon problème, j’ai dû modifier par inadvertance un paramètre de configuration de construction ou quelque chose qui empêchait la génération de mes projets de test (à l’époque où ils se trouvaient auparavant). Donc, la fenêtre Test Explorer regardait les dll qui n'étaient pas à jour. Il m'est apparu clairement que c'était le cas après avoir effectué une Clean et vu la plupart de mes tests disparaître et ne pas revenir après une rebuild... une inspection supplémentaire du dossier bin a montré que ces projets n'étaient pas du tout en construction.

9
MoMo

Allez au gestionnaire de paquets Nuget et téléchargez l’adaptateur Nunit comme suit. 

 enter image description here

8
Debendra Dash
  1. Outils
  2. Gestionnaire de paquets NuGet
  3. Gérer les packages NuGet pour la solution
  4. Feuilleter
  5. NUnitTestAdapter.WithFramework
  6. Ctrl + R, A pour construire/exécuter des tests

 enter image description here

L'utilisation de NUnitTestAdapter.WithFramework permet de s'assurer qu'il existe peu ou pas d'incohérences entre les versions de NUnit et de NUnit Adapter (c'est-à-dire "ça fonctionne" 

6
brntsllvn

J'avais une configuration de travail (pour NUnit2 et NUnit3 en fonction de la solution, et plusieurs versions de Visual Studio entre 2012 et 2017), et cela a soudainement cessé de fonctionner un jour: aucun test détecté dans aucune solution ou version de VS.

Dans mon cas, cela a aidé à supprimer %localappdata%\Temp\VisualStudioTestExplorerExtensions. Après un redémarrage de VS, tout a fonctionné comme avant.

6
realMarkusSchmidt

Vérifiez si vous avez indiqué [TestFixureSetUp] Et [Test]

dans la classe de test

échantillon:

namespace ClassLibrary1
{
public class SimpleCalculator
{
    public Calculator _calculator;
    [TestFixtureSetUp]
    public void initialize()
    {
        _calculator = new Calculator();

    }
    [Test]
    public void DivideTest()
    {
        int a = 10;
        int b = 2;
        int expectedValue = a/b;
        int actualValue = _calculator.Divide(a, b);
        Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
    }
}

}

4
Indika Wijesooriya

J'ai résolu en utilisant ces versions:

NUnit -> 3.2.0

NUnit3TestAdapter -> 3.0.8-ctp-8

Je pense qu'il y a des problèmes de compatibilité entre les autres versions.

3
David Castro

Dans notre cas, il s'agissait d'une incompatibilité de version d'adaptateur de test NUnit. Fondamentalement notre NUnit était 3.x et l'adaptateur de test était 2.x. 

Fait après 

Extension Visual Studio> Installez l'adaptateur Unit 3.x pour Visual Studio et tout a commencé à fonctionner.

2
daehaai

Une autre cause de ce problème est si vous ouvrez un projet à partir de un lecteur mappé - Visual Studio gère ces projets correctement, mais apparemment Nunit ne les prend pas en charge. 

Copier le projet sur un physique corrigeait le problème. 

1
Adelin

J'ai lancé une nouvelle solution contenant un projet test et l'ai comparée à mon projet original, à problèmes. L'original, pour une raison quelconque, contenait un app.config . J'ai exclu ce fichier du projet et vu mes tests réapparaître dans l'explorateur de tests.

0
Emmet Brickowski

J'ai eu le même problème, quand soudainement aucun test n'est apparu sur la fenêtre de Test Explorer . J'ai la version mise à jour de "NUnit3TestAdapter" Et après de nombreuses recherches et efforts,

J'ai constaté que j'avais besoin de définir les valeurs suivantes dans les propriétés du projet: [Dans la fenêtre de l'Explorateur de solutions: cliquer avec le bouton droit de la souris sur Projet> Propriétés] Sous l'onglet Générer, définissez Platform = x64 et définissez Platform target = x86 ou N'importe quel processeur. Construisez le projet et tous les tests apparaîtront dans la fenêtre Test Explorer.

Note importante: Je suis arrivé à une solution après avoir vu le prochain message dans la fenêtre de sortie:

"Le cycle de test utilisera les DLL générées pour Framework Framework45 et la plate-forme X86. Les DLL suivantes ne feront pas partie de l'exécution: AutomationTests.dll est construit pour Framework Framework45 et Platform X64."

0
C. Mar

Juste pour ajouter mes 0,02 $ ici, je me suis heurté hier à un problème similaire, où 168 de mes tests manquaient. J'ai tout essayé dans cet article - surtout en m'assurant que ma (mes) version (s) de NUnit étaient les mêmes - tout en vain. Je me suis alors rappelé que mes tests avaient été divisés en playlists; et ces ne le font pas se mettent à jour automatiquement lorsque vous ajoutez de nouveaux tests . Donc, quand j'ai supprimé les listes de lecture, BAM! , tous mes tests étaient de retour une fois de plus.

0
Brian

J'ai eu le même problème, quand soudainement aucun test n'est apparu sur la fenêtre de Test Explorer . J'ai la version mise à jour de "NUnit3TestAdapter"

et après de nombreuses recherches et efforts, J'ai constaté que j'avais besoin de définir les valeurs suivantes dans les propriétés du projet: [Dans la fenêtre de l'Explorateur de solutions: faites un clic droit sur Projet> Propriétés]. x64 et définissez Platform target = x86 ou Any CPUConstruisez le projet et tous les tests apparaîtront dans la fenêtre Test Explorer.

Note importante: Je suis arrivé à une solution après avoir vu le prochain message dans la fenêtre de sortie:

"Le cycle de test utilisera les DLL générées pour Framework Framework45 et la plate-forme X86. Les DLL suivantes ne feront pas partie de l'exécution: AutomationTests.dll est construit pour Framework Framework45 et Platform X64."

0
C. Mar

J'ai également constaté que lorsque j'ai désinstallé nunit v3.2.1, la référence du cadre nunit pour v3.2.1 était toujours dans mon projet dans l'explorateur de solutions . Explorateur de solutions> ProjectName > Références

Si vous faites un clic droit, il affichera la version. Supprimez cette Puis cliquez avec le bouton droit de la souris sur Références> Ajouter une référence.

Recherchez la version 2.x et ajoutez puis reconstruisez la solution.

Cela a fonctionné pour moi!

0
RShome

J'ai vécu le problème mentionné par l'op

Mon cas était que l'on m'avait confié un ancien projet et que les tests faisaient en réalité partie du système testé. Je suppose qu'ils utilisaient le testeur externe.

cette chaîne de tâches a résolu le problème pour moi 

  • créé un projet de test, 
  • déplacé les fichiers de test là-bas 
  • ajout de références afin que le projet test compile 
  • ajout des packages NuGet d'adaptateur Nunit et Nunit au projet test
  • recompilé

j'ai réussi à exécuter les tests Nunit. 

0
greg

La seule chose qui a fonctionné a été de revenir à une version antérieure sur NUnit et NUnit3TestAdapter.

0
O.Taaffe

Je devais désinstaller puis réinstaller le paquet xunit.runner.visualstudio nuget. J'ai essayé cela après avoir essayé toutes les suggestions ci-dessus, alors c'est peut-être un mélange de choses.

0
JayC

J'ai vérifié la version de l'adaptateur de test Nunit et Nunit de manière plus approfondie et ai utilisé les versions appropriées. Par exemple, si vous utilisez nUnit 2.x.x, installez Nunit Test Adapter 2.

0
Sameer

Cela me rendait fou. Je devais désinstaller tous les paquets de nuget nunit, puis ne réinstaller que NUnit:

 nuget

Pendant ce temps, l'adaptateur de test NUnit 3 était installé et activé:

 enter image description here

0
rupweb

J'ai eu ce problème aussi mais la cause était différente. J'utilise VS2017 avec F # 4.0.

Premièrement, la console de Visual Studio ne vous fournit pas suffisamment de détails sur la raison pour laquelle les tests n'ont pas pu être trouvés. cela échouera simplement lors du chargement de la DLL avec les tests. Utilisez donc NUnit3console.exe sur la ligne de commande car cela vous donne plus de détails.

Dans mon cas, c'était parce que l'adaptateur de test recherchait une version plus récente du noyau F # Core DLL (4.4.1.0) (F # 4.1) alors que j'utilise toujours la version 4.4.0.0 (F # 4.0). Donc, je viens d'ajouter ceci à l'app.config du projet test: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

c'est-à-dire rediriger vers le noyau F # antérieur.

0
Russ Freeman

Pour VS 2015:

Le dernier adaptateur de test 3 a des problèmes et n'a pas montré les cas de test NUnit. Si vous en avez un, supprimez-le et rétrogradez à la version 2.0.

Mon problème est résolu en installant NUnit 2 Test Adapter. 

0
Amit Kumar

J'ai eu quelques processus msbuild.exe qui ont été bloqués. Je ne sais pas si c'était mon problème ou non, mais cela m'a pris beaucoup de temps et d'erreur pour réinstaller divers adaptateurs NUnit avant de trouver les processus bloqués.

0
Andrew Rondeau

J'ai eu un problème similaire où les tests n'étaient pas découverts. J'avais la bonne version de NUnit, les versions appariées entre NUnit et l'adaptateur, et les tests étaient balisés correctement. Je courais VS 2017 Enterprise pas en tant qu'administrateur. Après avoir démarré VS en tant qu’administrateur, les tests sont apparus.

0
Robert Strickland

Si vous utilisez l'attribut TestCaseSource, assurez-vous que la source existe et respecte la documentation , sinon vos tests ne seront pas découverts. 

0
Adelin