web-dev-qa-db-fra.com

Erreur JetBrains Resharper 9 Ultimate Test Runner: NUnit.Core.UnsupportedFrameworkException: assemblage de chargement ignoré {MyAssembly}

Cela semble être une erreur avec le JetBrains Resharper 9.1 Ultimate Test Runner référençant une ancienne version de NUnit. J'utilise NUnit 3.0 dans mon assemblage.

[Window Title]
Unit Test Runner

[Main Instruction]
Unit Test Runner failed to run tests

[Expanded Information]
at NUnit.Core.Builders.TestAssemblyBuilder.GetCandidateFixtureTypes(Assembly assembly, String ns)
at NUnit.Core.Builders.TestAssemblyBuilder.GetFixtures(Assembly assembly, String ns)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
at JetBrains.ReSharper.UnitTestRunner.nUnit.BuiltInNUnitRunner.RunTests(IRemoteTaskServer server, Dictionary`2 tests, Dictionary`2 fixtures, List`1 explicitly, Boolean useAddins, List`1 assemblies)

EDIT: le problème disparaît avec la mise à niveau vers la version 10 de Resharper.

40
Pouya Yousefi

Comme Yousefi l'a mentionné, cela est résolu par la mise à jour vers la version 10 de ReSharper. J'ai eu le même problème et cela l'a résolu.

15
Evan M

Comme mentionné dans la réponse acceptée, ReSharper 9 ne prend pas en charge NUnit 3. La solution indiquée fonctionne (c.-à-d. Mise à jour vers ReSharper 10), cependant, pour ceux qui n'ont pas cette option (par exemple, licence), vous pouvez rétrograder votre version de NUnit en suivant les étapes ci-dessous:

  1. Ouvrez la console du gestionnaire de packages Nuget en allant dans Outils -> Gestionnaire de packages Nuget -> Console du gestionnaire de packages
  2. Dans la console qui apparaît (généralement en bas), sous la liste déroulante "Projet par défaut:" choisissez le projet de test que vous souhaitez rétrograder
  3. Exécutez les commandes suivantes Uninstall-Package NUnit suivi par Install-Package NUnit -Version 2.6.4

Vos tests devraient maintenant s'exécuter à l'aide de ReSharper 9.

27
Stephen

Comme mentionné dans l'autre réponse, le vrai correctif est de mettre à niveau vers ReSharper 10. Mais si vous ne pouvez pas le faire, vous pouvez désactiver la fonctionnalité de test unitaire de ReSharper 9 et revenir à l'explorateur de test intégré de Visual Studio.

Pour faire ça:

  1. Choisissez l'élément de menu ReSharper> Options ..., accédez au panneau Test unitaire et décochez la case Activer le test unitaire.
  2. Redémarrez Visual Studio.
  3. Utilisez l'élément de menu Test> Windows> Explorateur de tests pour afficher l'Explorateur de tests de Visual Studio.
4
Kristopher Johnson

Ce qui a fonctionné pour moi (VS 2015):

1) installé NUnit Test Adapter 3.2

2) ouvert Test Explorer: VS -> menu Test -> Windows -> Test Explorer

3) a exécuté le test: dans la fenêtre de l'Explorateur de tests (si aucun test, reconstruisez la solution), sélectionnez le test à exécuter, cliquez avec le bouton droit et "Exécuter les tests sélectionnés"

voila je peux voir le test dans la fenêtre de l'Explorateur de tests et en sélectionner un et le déboguer.

4
Riga

Entrer dans le ReSharper v10 Écran Options, sous Tools | Unit Testing | NUnit, il existe une option pour When to use NUnit 3 test runner. La définition de Always a résolu le problème pour moi. Le message d'erreur ci-dessus n'apparaît plus après avoir effectué cette modification.

Impossible d'exécuter les tests unitaires de NUnit avec le lanceur de test de ReSharper

0
Ghosthack