Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 31285|Svar: 3

[Kilde] .net/c# bruger xUnit-enhedstests

[Kopier link]
Opslået på 22/01/2019 14.58.26 | | | |
Er i øjeblikket i gang. Testværktøjerne under Net-rammen omfatter hovedsageligt Nunit, indbygget MSTest og Xunit, og denne artikel vil kort introducere, hvordan man bruger XUnit, en stigende stjerne i VS.

Den minimale køretid, der understøttes af xunit, er . NET 4.5.2, hvoraf de fleste er højere. Selv hvis du kan bygge et 4.0-klassebibliotek, vil det stadig fungere på mindst .NET 4.5.2. Detaljerede links:https://github.com/xunit/xunit/issues/1817


Først lavede jeg et nyt .NET 4.5.2 konsolprojekt med navnet: itsvse-test, og den nyeste version af xunit er: 2.4.1, så nuget-kommandoen er som følger:

Hver pakke er licenseret til dig af dens ejer. NuGet er ikke ansvarlig for tredjepartspakker og licenserer dem ikke. Nogle pakker kan inkludere afhængigheder, der er underlagt andre licenser. Klik på pakkekildens URL for at finde eventuelle afhængigheder.

Pakkehåndtering konsol værtsversion 4.7.0.5212

Skriv "get-help NuGet" for at se alle tilgængelige NuGet-kommandoer.

PM> Install-Package xunit -Version 2.4.1


Der gøres forsøg på at indsamle og målrette ". NETFramework, Version=v4.5.2" af projektet "itsvse-test" om pakken "xunit.2.4.1"
Det tager 2,1 sekunder at indsamle afhængighedsinformation
Forsøger at løse afhængigheden af pakken "xunit.2.4.1" med DependencyBehavior som "Lowest"
Parsing af afhængighedsinformation tager 0 ms
Parsing-operation for at installere pakken "xunit.2.4.1"
Løste operationen for at installere pakken "xunit.2.4.1"
Hent pakken "xunit 2.4.1" fra "cnblogs"
Hent pakken "xunit.abstractions 2.0.3" fra "cnblogs"
Hent pakken "xunit.analyzers 0.10.0" fra "cnblogs"
Hent pakken "xunit.assert 2.4.1" fra "cnblogs"
Hent pakken "xunit.core 2.4.1" fra "cnblogs"
Hent pakken "xunit.extensibility.core 2.4.1" fra "cnblogs"
Hent pakken "xunit.extensibility.execution 2.4.1" fra "cnblogs"
  FÅhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  FÅhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  FÅhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  FÅhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  FÅhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  FÅhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  FÅhttps://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
Installation af xunit.abstractions 2.0.3.
Installation af xunit 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installation af xunit.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installation af xunit.assert 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installation af xunit.extensibility.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installation af xunit.analyzers 0.10.0.
  OKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installation af xunit.extensibility.execution 2.4.1.
Tilføjelse af pakken "xunit.abstractions.2.0.3" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.abstractions.2.0.3" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.abstractions.2.0.3" til "packages.config"
Installerede med succes "xunit.abstractions 2.0.3" til itsvse-test
Tilføjelse af toolset-only pakken "xunit.analyzers.0.10.0" til "itsvse-test"
Tilføjelse af pakke "xunit.analyzers.0.10.0" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.analyzers.0.10.0" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.analyzers.0.10.0" til "packages.config"
Scriptfil "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" er blevet installeret med succes til itsvse-test
Tilføjelse af pakken "xunit.assert.2.4.1" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.assert.2.4.1" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.assert.2.4.1" til "packages.config"
"xunit.assert 2.4.1" er blevet installeret med succes til itsvse-test
Tilføjelse af pakken "xunit.extensibility.core.2.4.1" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.extensibility.core.2.4.1" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.extensibility.core.2.4.1" til "packages.config"
"xunit.extensibility.core 2.4.1" er blevet installeret med succes til itsvse-test
Tilføjelse af pakken "xunit.extensibility.execution.2.4.1" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.extensibility.execution.2.4.1" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.extensibility.execution.2.4.1" til "packages.config"
"xunit.extensibility.execution 2.4.1" er blevet installeret med succes til itsvse-test
Tilføjelse af pakken "xunit.core.2.4.1" til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.core.2.4.1" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Tilføjede pakken "xunit.core.2.4.1" til "packages.config"
"xunit.core 2.4.1" er blevet installeret med succes til itsvse-test
Tilføjelse af pakken "xunit.2.4.1" med kun afhængigheder til projekt "itsvse-test".
Pakken "xunit.2.4.1" tilføjes til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.2.4.1" er blevet tilføjet til mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.2.4.1" er blevet tilføjet til "packages.config"
"xunit 2.4.1" er blevet installeret med succes til itsvse-test
Nuget brugte 5,51 sekunder på at udføre
Tid forløbet: 00:00:07.7781544
PM>
Installer plug-in-pakkerne: xunit.runner.console (udeladt i denne artikel) og xunit.runner.visualstudio

hvor xUnit er rammen,Og xunit.runner.visualstudio er VS-pluginpakken, så vi nemt kan fejlfinde i VS.Installation af xunit.runner.console kan også fejlsøges under CMDMen hvis bare dette understøttes, tror jeg ikke, at mange vil bruge dette framework, for måden at skrive kommandoer på sænker karakteren på Visual Studio betydeligt, så jeg vil ikke forklare det her.

Her installerer vi kun xunit.runner.visualstudio-pluginpakken, højreklikker på projektet i Solution Explorer og vælger Administrer NuGet-pakker. Søg efter (og installer) en pakke kaldet xunit.runner.visualstudio:



Sørg for, at testbrowseren er synlig (gå til Test >-vinduet > Test Explorer). Hver gang et projekt bygges, opdager runneren enhedstests i projektet. Efter en periode med opdagelse bør du se en liste over opdagede tests:



Rediger Program-filen og ændr følgende kode:

Klik på linket i Kør alle-vinduet, og du burde se resultatopdateringen i Test Explorer-vinduet, når du kører testen:



Du kan klikke på den fejlede test for at se fejlmeddelelsen og stack trace. Du kan klikke på stack trace-linjen for at gå direkte til den fejlede kodelinje.

(Slut)





Tidligere:Sleep Your Sister Vækkeur v4.6.1 Professionel betalt premium kinesisk version
Næste:Dagens C# Studienoter
 Udlejer| Opslået på 22/01/2019 15.19.24 |
Xunit behøver ikke at tagge testklasser

xUnit understøtter både [Fact]- og [Theory]-egenskaber. Som du kan se fra koden, ligner [Fact] den faktiske kaldskode, vi skriver, mens [Theory] med InlineData kan teste flere sæt parametre direkte i én metode.

 Udlejer| Opslået på 22/01/2019 15.31.55 |
Anomalitestning

Xunit markerer ikke undtagelsesfangster via Attributes, men bruger direkte Assert.Throws-assertionsfunktionen til at validere undtagelser.

    offentlig klasse TestKlasse1
    {
        [Fakta]
        public void testUndtagelse()
        {
            Assert.Throws<InvalidOperationException>(() => operation());
        }

        Void-operation()
        {
            kast ny InvalidOperationException();
        }
    }



Ændr navnet på testsagen:

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



Spring testcases over:

     [fact(skip="refaktorering ufuldstændig")]



Gruppering:

     [Egenskab ("Gruppe", "Kategori")]
 Udlejer| Opslået på 22/01/2019 15.37.28 |
I mange tilfælde ønsker vi ikke, at enhedstests påvirker indholdet i databasen, og nogle gange vil vores enhedstests være meget langsomme på grund af databasens påvirkning, så vi vil ofte isolere persistensdelen og lagrer ikke rigtig dataene, når vi laver enhedstests. Denne type isolation Vi bruger generelt abstraktion, det vil sige at bruge grænseflader eller abstrakte klasser til at isolere persistenslaget, og derefter bruger vi mocks til at simulere de tilsvarende grænseflader eller abstrakte klasser for at fuldføre de tilsvarende persistensklasser. MoQ er et af disse mock-frameworks, MoQ bruger C# 3.0, som er enklere at bruge end NMock, og det er en stærkt typet metode, hvor kildekoden og dll kan nåsHyperlink-login er synlig.Download. Den seneste udgivelse af MoQ er nu version 3.1, og 4.0 er stadig i beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com