Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 31285|Répondre: 3

[Source] .net/c# utilise des tests unitaires xunit

[Copié le lien]
Publié sur 22/01/2019 14:58:26 | | | |
Je suis actuellement dedans. Les outils de test du framework Net incluent principalement Nunit, MSTest intégré et Xunit, et cet article présentera brièvement comment utiliser XUnit, une étoile montante dans VS.

Le temps d’exécution minimum supporté par xunit est . NET 4.5.2, dont la plupart sont plus élevés. Même si vous pouvez construire une bibliothèque de classes 4.0, elle fonctionnera toujours au moins sur .NET 4.5.2. Liens détaillés :https://github.com/xunit/xunit/issues/1817


Tout d’abord, j’ai créé un nouveau projet console .NET 4.5.2 sous le nom : itsvse-test, et la dernière version de xunit est : 2.4.1, donc la commande nuget est la suivante :

Chaque colis vous est licencié par son propriétaire. NuGet n’est pas responsable des packages tiers et ne les licencie pas. Certains paquets peuvent inclure des dépendances soumises à d’autres licences. Cliquez sur l’URL source du package (source) pour déterminer toute dépendance.

Gestionnaire de paquets version hôte de la console 4.7.0.5212

Tapez « get-help NuGet » pour voir toutes les commandes NuGet disponibles.

PM> Install-Package xunit -Version 2.4.1


Des tentatives sont faites pour collecter et cibler ». NETFramework, Version=v4.5.2 » du projet « itsvse-test » à propos du paquet « xunit.2.4.1 »
Il faut 2,1 secondes pour collecter les informations de dépendance
Essayer de résoudre la dépendance du paquet « xunit.2.4.1 » avec DependencyBehavior comme « Lowest »
L’analyse des informations de dépendance prend 0 ms
Opération d’analyse pour installer le paquet « xunit.2.4.1 »
Résolu l’opération d’installation du paquet « xunit.2.4.1 »
Récupérer le paquet « xunit 2.4.1 » depuis « cnblogs »
Récupérer le paquet « xunit.abstractions 2.0.3 » depuis « cnblogs »
Récupérer le paquet « xunit.analyzers 0.10.0 » depuis « cnblogs »
Récupérer le paquet « xunit.assert 2.4.1 » depuis « cnblogs »
Récupérer le paquet « xunit.core 2.4.1 » depuis « cnblogs »
Récupérer le paquet « xunit.extensibility.core 2.4.1 » depuis « cnblogs »
Récupérer le paquet « xunit.extensibility.execution 2.4.1 » depuis « cnblogs »
  AVOIRhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  AVOIRhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Installation de xunit.abstractions 2.0.3.
Installation de xunit 2.4.1.
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installation de xunit.core 2.4.1.
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installation de xunit.assert 2.4.1.
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installation de xunit.extensibility.core 2.4.1.
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installation de xunit.analyzers 0.10.0.
  D’ACCORDhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installation de xunit.extensibility.execution 2.4.1.
Ajout du package « xunit.abstractions.2.0.3 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.abstractions.2.0.3 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du package « xunit.abstractions.2.0.3 » à « packages.config »
Installation réussie de « xunit.abstractions 2.0.3 » sur itsvse-test
Ajout du package uniquement « xunit.analyzers.0.10.0 » à « itsvse-test »
Ajout du package « xunit.analyzers.0.10.0 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.analyzers.0.10.0 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du package « xunit.analyzers.0.10.0 » à « packages.config »
Fichier script « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1 »
« xunit.analyzers 0.10.0 » a été installé avec succès dans son test de ITS
Ajout du package « xunit.assert.2.4.1 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.assert.2.4.1 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du package « xunit.assert.2.4.1 » à « packages.config »
« xunit.assert 2.4.1 » a été installé avec succès dans son test ITS VSE
Ajout du package « xunit.extensibility.core.2.4.1 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.extensibility.core.2.4.1 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du paquet « xunit.extensibility.core.2.4.1 » à « packages.config »
« xunit.extensibility.core 2.4.1 » a été installé avec succès pour son test de VSE
Ajout du paquet « xunit.extensibility.execution.2.4.1 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.extensibility.execution.2.4.1 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du paquet « xunit.extensibility.execution.2.4.1 » à « packages.config »
« xunit.extensibility.execution 2.4.1 » a été installé avec succès dans son test de ITS VSE
Ajout du paquet « xunit.core.2.4.1 » au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le package « xunit.core.2.4.1 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Ajout du package « xunit.core.2.4.1 » à « packages.config »
« xunit.core 2.4.1 » a été installé avec succès pour son test SVSE
Ajout du paquet « xunit.2.4.1 » avec uniquement des dépendances pour projeter « itsvse-test ».
Le paquet « xunit.2.4.1 » est ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.2.4.1 » a été ajouté au dossier « C :\Users\itsvse_pc\Source\Repos\itsvse-test\packages »
Le paquet « xunit.2.4.1 » a été ajouté à « packages.config »
« XUnit 2.4.1 » a été installé avec succès pour son test VSE
Nuget a mis 5,51 secondes à exécuter
Temps écoulé : 00:00:07.7781544
PM >
Installez les packs plug-in : xunit.runner.console (omis dans cet article) et xunit.runner.visualstudio

où xUnit est le cadre,Et xunit.runner.visualstudio est le package de plugins VS, afin que nous puissions facilement déboguer en VS.L’installation de xunit.runner.console peut également être déboguée sous CMDMais si seulement cela est pris en charge, je pense que peu de gens utiliseront ce framework, après tout, la façon de taper les commandes fait vraiment baisser la qualité de Visual Studio, donc je ne vais pas l’expliquer ici.

Ici, nous installons uniquement le package de plugins xunit.runner.visualstudio, faisons un clic droit sur le projet dans l’Explorateur de solutions et sélectionnons Gérer les paquets NuGet. Recherchez (et installez) un paquet nommé xunit.runner.visualstudio :



Assurez-vous que le navigateur de test est visible (allez à la fenêtre de > de test > l’Explorateur de tests). Chaque fois qu’un projet est construit, le runner découvre des tests unitaires dans le projet. Après une période de découverte, vous devriez consulter une liste des tests découverts :



Modifier le fichier Program et modifier le code suivant :

Cliquez sur le lien dans la fenêtre Exécuter tout et vous devriez voir la mise à jour des résultats dans la fenêtre Explorateur de tests lorsque vous lancez le test :



Vous pouvez cliquer sur le test raté pour voir le message d’échec et la trace de pile. Vous pouvez cliquer sur la ligne de trace de la pile pour aller directement à la ligne de code défaillante.

(Fin)





Précédent:Réveil Sleep Your Sister v4.6.1 Version professionnelle Premium Payante en chinois
Prochain:Notes d’étude du jour sur C#
 Propriétaire| Publié sur 22/01/2019 15:19:24 |
Xunit n’a pas besoin d’étiqueter les classes de test

xUnit prend en charge, à la fois les propriétés [Fait] et [Théorie]. Comme vous pouvez le voir dans le code, [Fact] est similaire au code d’appel réel que nous écrivons, tandis que [Theory] avec InlineData peut tester plusieurs ensembles de paramètres directement dans une seule méthode.

 Propriétaire| Publié sur 22/01/2019 15:31:55 |
Tests d’anomalie

Xunit ne signale pas les captures d’exception via Attributes, mais utilise directement la fonction d’assertion Assert.Throws pour valider les exceptions.

    classe publique TestClass1
    {
        [Fait]
        Test public voidException()
        {
            Assert.Throws<InvalidOperationException>() = > opération()) ;
        }

        Opération du vide()
        {
            lancer un nouveau InvalidOperationException() ;
        }
    }



Changez le nom du cas test :

     [Fait(ShowName = « Test de fonction maximale »)]



Ignorer les cas de test :

     [fact(skip="refactoring incomplet »)]



Regroupement :

     [Trait(« Groupe », « Category »)]
 Propriétaire| Publié sur 22/01/2019 15:37:28 |
Dans de nombreux cas, nous ne voulons pas que les tests unitaires affectent le contenu de la base de données, et parfois nos tests unitaires sont très lents à cause de l’impact de la base de données, donc nous voulons souvent isoler la partie persistance, et ne persistons pas vraiment les données lors des tests unitaires. Ce type d’isolation Nous utilisons généralement l’abstraction, c’est-à-dire que nous utilisons des interfaces ou des classes abstraites pour isoler la couche de persistance, puis des mocks pour simuler les interfaces correspondantes ou les classes abstraites afin de compléter les classes de persistance correspondantes. MoQ est l’un de ces frameworks de simulation, MoQ utilise C# 3.0, qui est plus simple à utiliser que NMock, et c’est une méthode fortement typée, et le code source et la dll peuvent être atteintsLa connexion hyperlientérée est visible.Télécharger. La dernière version de MoQ est désormais la version 3.1, et la 4.0 est encore en bêta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com