Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 31285|Antwoord: 3

[Bron] .net/c# gebruikt xunit-eenheidstests

[Link kopiëren]
Geplaatst op 22-01-2019 14:58:26 | | | |
Momenteel in. De testtools onder het Net-framework bestaan voornamelijk uit Nunit, ingebouwde MSTest en Xunit, en dit artikel zal kort introduceren hoe je XUnit kunt gebruiken, een rijzende ster in VS.

De minimale uitvoeringstijd die door xunit wordt ondersteund is . NET 4.5.2, waarvan de meeste hoger zijn. Zelfs als je een 4.0 class library kunt bouwen, werkt het nog steeds op minstens .NET 4.5.2. Gedetailleerde links:https://github.com/xunit/xunit/issues/1817


Eerst heb ik een nieuw .NET 4.5.2 consoleproject gemaakt met de naam: itsvse-test, en de nieuwste versie van xunit is: 2.4.1, dus het nuget-commando is als volgt:

Elk pakket wordt aan jou gelicenseerd door de eigenaar. NuGet is niet verantwoordelijk voor pakketten van derden en licentieert deze niet. Sommige pakketten kunnen afhankelijkheden bevatten die onder andere licenties vallen. Klik op de URL van de bron (bron) van het pakket om eventuele afhankelijkheden te bepalen.

Package Manager console-host versie 4.7.0.5212

Typ "get-help NuGet" om alle beschikbare NuGet-commando's te zien.

PM> Install-Package xunit -versie 2.4.1


Er worden pogingen gedaan om te verzamelen en te richten". NETFramework, Versie=v4.5.2" van het project "itsvse-test" over het pakket "xunit.2.4.1"
Het kost 2,1 seconden om afhankelijkheidsinformatie te verzamelen
Proberen de afhankelijkheid van pakket "xunit.2.4.1" met DependencyBehavior als "Lowest" op te lossen
Het parsen van afhankelijkheidsinformatie kost 0 ms
Parsingbewerking om pakket "xunit.2.4.1" te installeren
Operatie opgelost om pakket "xunit.2.4.1" te installeren
Haal pakket "xunit 2.4.1" op van "cnblogs"
Haal pakket "xunit.abstractions 2.0.3" op van "cnblogs"
Haal pakket "xunit.analyzers 0.10.0" op van "cnblogs"
Haal pakket "xunit.assert 2.4.1" op van "cnblogs"
Haal pakket "xunit.core 2.4.1" op van "cnblogs"
Haal pakket "xunit.extensibility.core 2.4.1" op van "cnblogs"
Haal pakket "xunit.extensibility.execution 2.4.1" op van "cnblogs"
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  TOEVOEGENhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  OKhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  OKhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Installeren van xunit.abstractions 2.0.3.
Xunit 2.4.1 installeren.
  OKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installeren xunit.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installeren van xunit.assert 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installeren van xunit.extensibility.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installeren xunit.analyzers 0.10.0.
  OKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installeren van xunit.extensibility.execution 2.4.1.
Pakket "xunit.abstractions.2.0.3" toevoegen aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.abstractions.2.0.3" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.abstractions.2.0.3" toegevoegd aan "packages.config"
Succesvol geïnstalleerd "xunit.abstractions 2.0.3" op itsvse-test
Toevoeging van toolset-only pakket "xunit.analyzers.0.10.0" aan "itsvse-test"
Pakket "xunit.analyzers.0.10.0" toevoegen aan map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.analyzers.0.10.0" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.analyzers.0.10.0" toegevoegd aan "packages.config"
Scriptbestand "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" is succesvol geïnstalleerd op itsvse-test
Pakket "xunit.assert.2.4.1" toevoegen aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.assert.2.4.1" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.assert.2.4.1" toegevoegd aan "packages.config"
"xunit.assert 2.4.1" is succesvol geïnstalleerd op itsvse-test
Pakket "xunit.extensibility.core.2.4.1" toevoegen aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.extensibility.core.2.4.1" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.extensibility.core.2.4.1" toegevoegd aan "packages.config"
"xunit.extensibility.core 2.4.1" is succesvol geïnstalleerd op itsvse-test
Pakket "xunit.extensibility.execution.2.4.1" toevoegen aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.extensibility.execution.2.4.1" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.extensibility.execution.2.4.1" toegevoegd aan "packages.config"
"xunit.extensibility.execution 2.4.1" is succesvol geïnstalleerd op itsvse-test
Pakket "xunit.core.2.4.1" toevoegen aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.core.2.4.1" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.core.2.4.1" toegevoegd aan "packages.config"
"xunit.core 2.4.1" is succesvol geïnstalleerd op itsvse-test
Pakket "xunit.2.4.1" toevoegen met alleen afhankelijkheden aan project "itsvse-test".
Pakket "xunit.2.4.1" wordt toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.2.4.1" is toegevoegd aan de map "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakket "xunit.2.4.1" is toegevoegd aan "packages.config"
"xunit 2.4.1" is succesvol geïnstalleerd op itsvse-test
Nuget deed er 5,51 seconden over om uit te voeren
Verstreken: 00:00:07.7781544
PM>
Installeer de plug-in pakketten: xunit.runner.console (weggelaten in dit artikel) en xunit.runner.visualstudio

waarbij xUnit het framework is,En xunit.runner.visualstudio is het VS-pluginpakket, zodat we gemakkelijk kunnen debuggen in VS.Het installeren van xunit.runner.console kan ook worden gedebuggd onder CMDMaar als dit maar ondersteund wordt, denk ik dat niet veel mensen dit framework zullen gebruiken; tenslotte verlaagt de manier van typen commando's de kwaliteit van Visual Studio aanzienlijk, dus ik zal het hier niet uitleggen.

Hier installeren we alleen het xunit.runner.visualstudio-pluginpakket, klikken we met de rechtermuisknop op het project in Solution Explorer en selecteren we NuGet Packages beheren. Zoek naar (en installeer) een pakket genaamd xunit.runner.visualstudio:



Zorg ervoor dat de testbrowser zichtbaar is (ga naar het Test >-venster > Test Explorer). Elke keer dat een project wordt gebouwd, ontdekt de runner unittests in het project. Na een periode van ontdekking zou je een lijst van ontdekte tests moeten zien:



Bewerk het Program-bestand en verander de volgende code:

Klik op de link in het Run All-venster en je zou de resultaatupdate moeten zien in het Test Verkenner-venster wanneer je de test uitvoert:



Je kunt op de mislukte test klikken om het foutbericht te bekijken en een stacktrace te doen. Je kunt op de stapeltrace-lijn klikken om direct naar de mislukte regel code te gaan.

(Einde)





Vorig:Sleep Your Sister Wekker v4.6.1 Professionele betaalde premium Chinese versie
Volgend:De C# Studienotities van vandaag
 Huisbaas| Geplaatst op 22-01-2019 15:19:24 |
Xunit hoeft geen testklassen te taggen

xUnit ondersteunt zowel [Feit]- als [Theorie]-eigenschappen. Zoals je aan de code kunt zien, lijkt [Fact] op de daadwerkelijke callcode die we schrijven, terwijl [Theory] met InlineData meerdere sets parameters direct in één methode kan testen.

 Huisbaas| Geplaatst op 22-01-2019 15:31:55 |
Anomalietesten

Xunit markeert uitzonderingsvangsten niet via Attributes, maar gebruikt direct de Assert.Throws-assertiefunctie om uitzonderingen te valideren.

    publieke klasse TestKlasse1
    {
        [Feit]
        public void testUitzondering()
        {
            Assert.Throws<InvalidOperationException>(() => operatie());
        }

        Void Operation()
        {
            gooi nieuwe InvalidOperationException();
        }
    }



Verander de naam van de testcase:

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



Sla testgevallen over:

     [feit(skip="refactoring incomplete")]



Groepering:

     [Eigenschap("Groep", "Categorie")]
 Huisbaas| Geplaatst op 22-01-2019 15:37:28 |
In veel gevallen willen we niet dat unittests de inhoud in de database beïnvloeden, en soms zijn onze unittests erg traag door de impact van de database, dus willen we vaak het persistentiegedeelte isoleren en de data niet echt vasthouden bij unittests. Dit soort isolatie We gebruiken over het algemeen abstractie, dat wil zeggen interfaces of abstracte klassen om de persistentielaag te isoleren, en vervolgens mocks om de bijbehorende interfaces of abstracte klassen te simuleren om de bijbehorende persistentieklassen compleet te maken. MoQ is een van deze Mock-frameworks, MoQ gebruikt C# 3.0, wat eenvoudiger te gebruiken is dan NMock, en het is een sterk getypeerde manier, waarbij de broncode en dll bereikbaar zijnDe hyperlink-login is zichtbaar.Download. De nieuwste release van MoQ is nu versie 3.1, en 4.0 is nog in bèta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com