Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 31285|Antwort: 3

[Quelle] .net/c# verwendet xunit-Unit-Tests

[Link kopieren]
Veröffentlicht am 22.01.2019 14:58:26 | | | |
Derzeit bin ich dabei. Die Testwerkzeuge im Net-Framework umfassen hauptsächlich Nunit, integriertes MSTest und Xunit, und dieser Artikel stellt kurz vor, wie man XUnit, einen aufstrebenden Star in VS, einsetzt.

Die von xunit unterstützte minimale Laufzeit ist . NET 4.5.2, von denen die meisten höher sind. Selbst wenn du eine 4.0-Klassenbibliothek bauen kannst, funktioniert sie trotzdem mindestens auf .NET 4.5.2. Detaillierte Links:https://github.com/xunit/xunit/issues/1817


Zuerst habe ich ein neues .NET 4.5.2-Konsolenprojekt mit dem Namen itsvse-test erstellt, und die neueste Version von xunit lautet: 2.4.1, also lautet der nuget-Befehl wie folgt:

Jedes Paket wird Ihnen von seinem Eigentümer lizenziert. NuGet ist nicht für Drittanbieter-Pakete verantwortlich und lizenziert diese nicht. Einige Pakete können Abhängigkeiten enthalten, die anderen Lizenzen unterliegen. Klicken Sie auf die URL der Paketquelle (Quelle), um eventuelle Abhängigkeiten zu bestimmen.

Package Manager Console Host Version 4.7.0.5212

Geben Sie "get-help NuGet" ein, um alle verfügbaren NuGet-Befehle zu sehen.

PM> Install-Package xunit -Version 2.4.1


Es werden Versuche unternommen, zu sammeln und gezielt zu landen." NETFramework, Version=v4.5.2" des Projekts "itsvse-test" über das Paket "xunit.2.4.1"
Es dauert 2,1 Sekunden, um Abhängigkeitsinformationen zu sammeln
Ich versuche, die Abhängigkeit des Pakets "xunit.2.4.1" mit DependencyBehavior als "Lowest" aufzulösen
Das Parsen von Abhängigkeitsinformationen benötigt 0 ms
Parsing-Operation zur Installation des Pakets "xunit.2.4.1"
Operation zur Installation des Pakets "xunit.2.4.1" gelöst
Paket "xunit 2.4.1" von "cnblogs" abrufen
Paket "xunit.abstractions 2.0.3" von "cnblogs" abrufen
Paket "xunit.analyzers 0.10.0" von "cnblogs" abrufen
Paket "xunit.assert 2.4.1" von "cnblogs" abrufen
Paket "xunit.core 2.4.1" von "cnblogs" abrufen
Das Paket "xunit.extensibility.core 2.4.1" aus "cnblogs" abrufen
Paket "xunit.extensibility.execution 2.4.1" von "cnblogs" abrufen
  ERHALTENhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  ERHALTENhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  OKAYhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  OKAYhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Installation von xunit.abstractions 2.0.3.
Installation von Xunit 2.4.1.
  OKAYhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installation von xunit.core 2.4.1.
  OKAYhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installation von xunit.assert 2.4.1.
  OKAYhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installation von xunit.extensibility.core 2.4.1.
  OKAYhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installation von xunit.analyzers 0.10.0.
  OKAYhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installation von xunit.extensibility.execution 2.4.1.
Hinzufügen des Pakets "xunit.abstractions.2.0.3" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.abstractions.2.0.3" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Paket "xunit.abstractions.2.0.3" zu "packages.config" hinzugefügt
Erfolgreich "xunit.abstractions 2.0.3" auf itsvse-test installiert
Hinzufügen des Toolset-only-Pakets "xunit.analyzers.0.10.0" zu "itsvse-test"
Hinzufügen des Pakets "xunit.analyzers.0.10.0" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.analyzers.0.10.0" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Das Paket "xunit.analyzers.0.10.0" wurde zu "packages.config" hinzugefügt
Skriptdatei "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" wurde erfolgreich in itsvse-test installiert
Hinzufügen des Pakets "xunit.assert.2.4.1" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.assert.2.4.1" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Paket "xunit.assert.2.4.1" zu "packages.config" hinzugefügt
"xunit.assert 2.4.1" wurde erfolgreich auf itsvse-test installiert
Hinzufügen des Pakets "xunit.extensibility.core.2.4.1" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.extensibility.core.2.4.1" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Paket "xunit.extensibility.core.2.4.1" zu "packages.config" hinzugefügt
"xunit.extensibility.core 2.4.1" wurde erfolgreich auf itsvse-test installiert
Hinzufügen des Pakets "xunit.extensibility.execution.2.4.1" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.extensibility.execution.2.4.1" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Paket "xunit.extensibility.execution.2.4.1" zu "packages.config" hinzugefügt
"xunit.extensibility.execution 2.4.1" wurde erfolgreich auf itsvse-test installiert
Hinzufügen des Pakets "xunit.core.2.4.1" zum Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Das Paket "xunit.core.2.4.1" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Das Paket "xunit.core.2.4.1" wurde zu "packages.config" hinzugefügt
"xunit.core 2.4.1" wurde erfolgreich in itsvse-test installiert
Hinzufügen des Pakets "xunit.2.4.1" mit nur Abhängigkeiten zum Projekt "itsvse-test".
Das Paket "xunit.2.4.1" wird dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Das Paket "xunit.2.4.1" wurde dem Ordner "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages" hinzugefügt.
Das Paket "xunit.2.4.1" wurde zu "packages.config" hinzugefügt
"xunit 2.4.1" wurde erfolgreich auf itsvse-test installiert
Nuget benötigte 5,51 Sekunden für die Ausführung
Verstrichene Zeit: 00:00:07.7781544
PM>
Installieren Sie die Plug-in-Pakete: xunit.runner.console (in diesem Artikel ausgelassen) und xunit.runner.visualstudio

wobei xUnit das Framework ist,Und xunit.runner.visualstudio ist das VS-Plugin-Paket, damit wir in VS leicht debuggen können.Das Installieren von xunit.runner.console kann auch unter CMD debuggen werden.Aber wenn nur das unterstützt wird, glaube ich, dass nicht viele Leute dieses Framework nutzen werden, schließlich senkt die Art des Tippens von Befehlen die Qualität von Visual Studio erheblich, daher werde ich es hier nicht erklären.

Hier installieren wir nur das Plugin-Paket xunit.runner.visualstudio, klicken im Solution Explorer mit der rechten Maustaste auf das Projekt und wählen NuGet Packages verwalten. Suchen Sie nach (und installieren) Sie ein Paket namens xunit.runner.visualstudio:



Stelle sicher, dass der Testbrowser sichtbar ist (gehe zum Test->-Fenster > Test Explorer). Jedes Mal, wenn ein Projekt gebaut wird, entdeckt der Runner Unit-Tests im Projekt. Nach einer Entdeckungsphase sollten Sie eine Liste der entdeckten Tests sehen:



Bearbeiten Sie die Programmdatei und ändern Sie den folgenden Code:

Klicken Sie auf den Link im Run All-Fenster, und Sie sollten das Ergebnis-Update im Test-Explorer sehen, wenn Sie den Test ausführen:



Du kannst auf den fehlgeschlagenen Test klicken, um die Fehlermeldung und die Stack-Trace zu sehen. Du kannst auf die Stack-Trace-Zeile klicken, um direkt zur fehlerhaften Codezeile zu gelangen.

(Ende)





Vorhergehend:Sleep Your Sister Wecker v4.6.1 Professionelle kostenpflichtige chinesische Premium-Version
Nächster:Die heutigen C#-Lernnotizen
 Vermieter| Veröffentlicht am 22.01.2019 15:19:24 |
Xunit muss keine Klassen taggen

xUnit unterstützt sowohl [Fakt]- als auch [Theorie]-Eigenschaften. Wie Sie am Code sehen können, ähnelt [Fact] dem tatsächlichen Aufrufcode, den wir schreiben, während [Theory] mit InlineData mehrere Parametersätze direkt in einer Methode testen kann.

 Vermieter| Veröffentlicht am 22.01.2019 15:31:55 |
Anomalietests

Xunit markiert Ausnahmefänge nicht über Attribute, sondern verwendet direkt die Assert.Throws-Behauptungsfunktion, um Ausnahmen zu validieren.

    öffentliche Klasse TestKlasse1
    {
        [Fakt]
        public void testAusnahme()
        {
            Assert.Throws<InvalidOperationException>(() => Operation());
        }

        Void-Operation()
        {
            neue InvalidOperationException() werfen;
        }
    }



Ändere den Namen des Testfalls:

     [Fakt(DisplayName = "Max Function Test")]



Testfälle überspringen:

     [fakt(skip="Refaktorisierung unvollständig")]



Gruppierung:

     [Merkmal("Gruppe", "Kategorie")]
 Vermieter| Veröffentlicht am 22.01.2019 15:37:28 |
In vielen Fällen wollen wir nicht, dass Unit-Tests den Inhalt der Datenbank beeinflussen, und manchmal sind unsere Unit-Tests aufgrund der Auswirkungen der Datenbank sehr langsam, weshalb wir oft den Persistenzteil isolieren wollen und die Daten bei Unit-Tests nicht wirklich speichern. Diese Art der Isolation verwenden wir im Allgemeinen Abstraktion, das heißt, wir verwenden Schnittstellen oder abstrakte Klassen, um die Persistenzschicht zu isolieren, und verwenden dann Mocks, um die entsprechenden Schnittstellen oder abstrakte Klassen zu simulieren, um die entsprechenden Persistenzklassen zu vervollständigen. MoQ ist eines dieser Mock-Frameworks, MoQ verwendet C# 3.0, das einfacher zu bedienen ist als NMock, und es ist eine stark typisierte Methode, und Quellcode sowie DLL sind erreichbarDer Hyperlink-Login ist sichtbar.Herunterladen. Die neueste Version von MoQ ist jetzt Version 3.1, und 4.0 befindet sich noch in der Beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com