Malgré l'ajout de NUnit de NuGet à un projet .Net Core existant, aucun test unitaire n'est affiché dans le Test Pad.
Remarque: j'ai publié ces images sous forme de liens car j'ai une réputation trop faible pour publier images. Qu'est-ce qui se passe avec ça?
J'ai essayé de redémarrer Visual Studio et de réinstaller le package.
J'ai également essayé de supprimer le répertoire Project / obj - toujours pas de chance.
using NUnit.Framework; namespace ExampleLib { [TestFixture] public class ExampleTestFixture { [Test] public void ExampleTest() { Assert.AreEqual(2, 2); } } }
Attendu: les tests remplissent la zone de test unitaire Réel: tampon de test vide.
3 Réponses :
Le package NuGet vous permet uniquement d'utiliser le framework NUnit pour écrire des tests. En d'autres termes, c'est comme ajouter des références aux DLL NUnit.
Vous devez installer l ' adaptateur pour voir les tests. p>
Ce n'est pas pour l'édition communautaire de Visual Studio (MacOS). Je ne peux même pas ouvrir ce fichier. Il indique Visual Studio 2012, 2013, 2015, 2017 dans le package.
@shua Essayez de l'installer en allant dans Outils> Extensions dans la barre de menus VS. Je ne sais pas si cette extension prend en charge MacOS, mais c'est ainsi. Si ce n'est pas le cas, vous n'avez malheureusement pas de chance et vous n'avez qu'à utiliser le cadre de test unitaire de Visual Studio.
Vous avez probablement signalé le mauvais lien, nuget.org/packages/NUnit3TestAdapter/3.12.0 < / a> L'adaptateur est un package NuGet.
@CodingYoshi Il n'y a pas d'option Outils> Extensions.
@LexLi, j'ai pu installer le NUnit3TestAdapter, mais les tests n'apparaissent toujours pas. J'ai essayé de redémarrer Visual Studio, de nettoyer à la fois le projet et la solution, et de créer entièrement une nouvelle application console. Toujours pas de chance.
Comme lex-li commente, vous devez installer la version nuget du adaptateur ( https://www.nuget.org/packages/NUnit3TestAdapter/3.12.0 < / a>).
Vous l'installez dans votre solution, de préférence pour tous les projets de test.
(L'adaptateur sur le marché est l'adaptateur vsix, qui peut être installé dans VS lui-même - mais cette pratique n'est pas recommandée et, comme vous le faites remarquer, ne semble même pas fonctionner pour la version Mac Community.) p >
Cela ne donne toujours aucun résultat.
Il existe plusieurs exigences pour ce projet, afin que VS pour Mac puisse identifier et exécuter les cas de test.
Microsoft.NET.Test.Sdk
(requis par l'infrastructure VSTest). NUnit
. NUnit3TestAdapter
(requis par l'infrastructure VSTest). Exemple,
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.2</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="NUnit" Version="3.11.0" /> <PackageReference Include="NUnit3TestAdapter" Version="3.12.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> </ItemGroup> </Project>
Notez que VS pour Windows et VS pour Mac (et JetBrains Rider) utilisent tous VSTest pour les tests unitaires, donc cette configuration fonctionne pour tous ces IDE.
Notez également que si vous n'avez pas créé ce projet de console à partir de dotnet new nunit
, mais d'un modèle d'application de console normal, vous devez supprimer manuellement le Méthode principale
.
J'ai ajouté cela à un projet existant et cela m'a posé un problème sur le fait qu'il y avait plus d'un Main. Ensuite, j'ai exécuté dotnet new nunit
dans le répertoire racine du projet et cela a supprimé l'erreur. Pourriez-vous ajouter cela à cette réponse? Merci beaucoup pour votre aide. Je ne sais pas pourquoi ce serait si différent entre les deux modèles.