web-dev-qa-db-fra.com

Nunit - ne découvre pas les tests [pas de message d'erreur]

L'unité refuse de découvrir ou d'exécuter mes tests dans un assemblage. Ce n'est pas le cas où l'unité produit un message d'erreur du type "Impossible de trouver le test dans l'assemblage". Il ne découvre tout simplement pas que j'ai des tests.

Je clique avec le bouton droit sur la méthode de test et la sortie de test montre: 

Découvrez le test commencé ------Découvrez le test terminé: 0 trouvé (0: 00: 00,0260026) "

J'ai essayé tout ce qui est mentionné dans cet article: NUnit ne trouve pas de tests dans Assembly

La mise à niveau n'est pas une possibilité. Les paramètres d'architecture du processeur sont corrects. Mes tests sont publics et ont tous les tags corrects. 

Voici un code de mon projet que je ne parviens tout simplement pas à exécuter. Je le sais parce que j'ai un point de rupture dès le début. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;

namespace UnitTestProjects
{
    [TestFixture]
    public class SomeRandomTests
    {
        [Test]
        public void ShouldFail()
        {
            Assert.AreEqual(1, 0);
        }

        [Test]
        public void ShouldPass()
        {
            Assert.AreEqual(1,1);
        }
    }
}

J'exécute le test interne Visual Studio Explorer. Unit Framework version 2.5.9.10348, version d'exécution v2.0.50727. J'ai installé Unit Test Adopter. J'ai tenté de le réinstaller sans succès. 

25
user1531921

Vous devez soit installer l'extension NUnit VSAdapter vsix, soit ajouter l'adaptateur en tant que package nuget à votre solution.

La dernière version est la 2.0 et le vsix est disponible ici: https://visualstudiogallery.msdn.Microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d

Et le paquet de nuget peut être trouvé ici: http://www.nuget.org/packages/NUnitTestAdapter/

Vous trouverez plus d'informations sur ces options dans cet article MSDN ALM http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/11/part-3-unit-testing-with-traits-and -code-coverage-in-visual-studio-2012-utilisant-le-tfs-build-et-le-nouveau-nuget-adapter-approche.aspx , qui pointe également vers deux précédents posts.

Si vous regardez dans la fenêtre de la console de sortie sous Test, le nom et la version de l'adaptateur y sont affichés lors de son exécution. Si cela ne se produit pas, l'adaptateur n'est pas actif. 

Si vous exécutez Resharper, assurez-vous de disposer de la dernière version 8.2, il y a déjà eu des conflits avec les adaptateurs de test et le resharper. 

Même si vous ne pouvez pas mettre à niveau ce projet de NUnit 2.5.9 vers la dernière version 2.6.4, vous pouvez vérifier que les adaptateurs fonctionnent correctement dans un projet de test à l'aide de la version 2.6.4.
Je viens de vérifier ma propre machine avec NUnit 2.5.9, et cela fonctionnait bien avec l’adaptateur 2.0. 

Mettre à jour:

Pour VS2017, vous n’installez pas l’extension NUnit VSAdapter vsix, mais plutôt l’installation de NUnit 3 TestAdapter pour Visual Studio 2012 (Update 1). Cela fonctionne avec le paquet NuGet: NUnit 3.9.0.

29
Terje Sandstrøm

Le mien est juste pareil, mais le différent est que j'ai créé mon projet en tant que projet VS UnitTest et non en une DLL simple J'ai donc créé une DLL et référencé tous les assemblys nunit et le test est maintenant découvert.

J'espère que cela t'aides.

2
jayson.centeno

Dans mon cas, j'ai utilisé l'attribut TestCaseSource. Et passé mal nom de source. 

 [Test]
 [TestCaseSource("TestDataCaseSource")]
 public void SomeTest1(string DataName, ITestData testData)

Après avoir résolu le problème, tous les tests apparaissent dans Test Explorer.

1
aleha

J'ai eu le même problème lors de la mise à niveau de Visual Studio 2013 vers VS 2017 . Dans mon cas, tous les tests ont été écrits pour NUnit 2 (et non 3) et ont bien fonctionné sous VS 2013. Une fois que VS2017 a été installé, aucun des tests pourrait être trouvé.

Le problème est que VS2017 n'a pas collecté automatiquement l'installation de NUnit 2 sur ma machine virtuelle.

La solution consistait à installer le programme d’exécution de Nunit 2 en cliquant sur le menu Outils, Outils | Extensions et mises à jour. Ensuite, sélectionnez En ligne dans la liste de droite, puis entrez "NUnit" dans la zone de recherche. Vous pouvez ensuite ajouter le programme d'exécution de test NUnit approprié.

Ceci s'applique probablement à tous les coureurs de test, sauf peut-être à MSTest.

1
Herb F

Pour mon cas VS 2017, après l'installation de Unit Test Adapter 3, je viens d'ajouter une version mise à jour du DLL à ma solution à l'aide du gestionnaire de packages Nuget. 

0
Payam Khaninejad

Le problème peut être avec NUnit30Settings.xml. J'ai eu ce problème. Dans mon cas, le dossier était vide. Je ne sais pas quelle était la raison. J'ai copié les paramètres de NUnitSettings.xml vers NUnit30Settings.xml. Cela a résolu mon problème. Les fichiers avec des paramètres sont dans ... Utilisateurs\[Utilisateur]\AppData\Local\NUnit.

0
Main