Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 31285|Odgovoriti: 3

[Vir] .NET/C# uporablja Xunit enotske teste

[Kopiraj povezavo]
Objavljeno na 22. 01. 2019 14:58:26 | | | |
Trenutno sem v tem. Testna orodja v okviru Net večinoma vključujejo Nunit, vgrajeni MSTest in Xunit, ta članek pa bo na kratko predstavil, kako uporabljati XUnit, vzhajajočo zvezdo v VS.

Minimalni čas izvajanja, ki ga podpira xunit, je . NET 4.5.2, od katerih je večina višjih. Tudi če lahko zgradiš knjižnico razredov 4.0, bo še vedno delovala vsaj na .NET 4.5.2. Podrobne povezave:https://github.com/xunit/xunit/issues/1817


Najprej sem ustvaril nov .NET 4.5.2 konzolni projekt z imenom: itsvse-test, najnovejša različica xunita pa je: 2.4.1, zato je ukaz nuget naslednji:

Vsak paket vam je licenciran s strani lastnika. NuGet ni odgovoren za pakete tretjih oseb in jih ne licencira. Nekateri paketi lahko vključujejo odvisnosti, ki so predmet drugih licenc. Kliknite na URL izvorne kode paketa, da določite morebitne odvisnosti.

Package Manager konzolni gostitelj različica 4.7.0.5212

Vpišite "get-help NuGet", da vidite vse razpoložljive ukaze NuGet.

PM> Install-Package xunit -Version 2.4.1


Poskušajo se zbirati in ciljati". NETFramework, različica=v4.5.2" projekta "itsvse-test" o paketu "xunit.2.4.1"
Zbiranje informacij o odvisnosti traja 2,1 sekunde
Poskušam rešiti odvisnost paketa "xunit.2.4.1" z DependencyBehavior kot "Lolowest
Razčlenjevanje informacij o odvisnosti traja 0 ms
Operacija razčlenjevanja za namestitev paketa "xunit.2.4.1"
Rešena operacija za namestitev paketa "xunit.2.4.1"
Pridobi paket "xunit 2.4.1" iz "cnblogs"
Pridobi paket "xunit.abstractions 2.0.3" iz "cnblogs"
Pridobi paket "xunit.analyzers 0.10.0" iz "cnblogs"
Retrieve package "xunit.assert 2.4.1" iz "cnblogs"
Pridobi paket "xunit.core 2.4.1" iz "cnblogs"
Pridobite paket "xunit.extensibility.core 2.4.1" iz "cnblogs"
Pridobi paket "xunit.extensibility.execution 2.4.1" iz "cnblogs"
  DOBIhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  DOBIhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  V reduhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  V reduhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Nameščam xunit.abstractions 2.0.3.
Nameščam xunit 2.4.1.
  V reduhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Nameščam xunit.core 2.4.1.
  V reduhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Nameščam xunit.assert 2.4.1.
  V reduhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Nameščam xunit.extensibility.core 2.4.1.
  V reduhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Nameščanje xunit.analyzers 0.10.0.
  V reduhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Nameščam xunit.extensibility.execution 2.4.1.
Dodajanje paketa "xunit.abstractions.2.0.3" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.abstractions.2.0.3" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodan paket "xunit.abstractions.2.0.3" v "packages.config"
Uspešno namestil "xunit.abstractions 2.0.3" na itsvse-test
Dodajanje samo paketa orodij "xunit.analyzers.0.10.0" v "itsvse-test"
Dodajanje paketa "xunit.analyzers.0.10.0" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.analyzers.0.10.0" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodan paket "xunit.analyzers.0.10.0" k "packages.config"
Skriptna datoteka "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" je bil uspešno nameščen na itsvse-test
Dodajanje paketa "xunit.assert.2.4.1" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.assert.2.4.1" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodan paket "xunit.assert.2.4.1" v "packages.config"
"xunit.assert 2.4.1" je bil uspešno nameščen na itsvse-test
Dodajanje paketa "xunit.extensibility.core.2.4.1" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.extensibility.core.2.4.1" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodali smo paket "xunit.extensibility.core.2.4.1" v "packages.config"
"xunit.extensibility.core 2.4.1" je bil uspešno nameščen na itsvse-test
Dodajanje paketa "xunit.extensibility.execution.2.4.1" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.extensibility.execution.2.4.1" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodali smo paket "xunit.extensibility.execution.2.4.1" v "packages.config"
"xunit.extensibility.execution 2.4.1" je bil uspešno nameščen na itsvse-test
Dodajanje paketa "xunit.core.2.4.1" v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.core.2.4.1" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Dodan paket "xunit.core.2.4.1" v "packages.config"
"xunit.core 2.4.1" je bil uspešno nameščen na itsvse-test
Dodajanje paketa "xunit.2.4.1" z le odvisnostmi za projektiranje "itsvse-test".
Paket "xunit.2.4.1" se dodaja v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.2.4.1" je bil dodan v mapo "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.2.4.1" je bil dodan v "packages.config"
"xunit 2.4.1" je bil uspešno nameščen na itsvse-test
Nuget je potreboval 5,51 sekunde za izvedbo
Potek časa: 00:00:07.7781544
PM>
Namestite vtične pakete: xunit.runner.console (izpuščen v tem članku) in xunit.runner.visualstudio

kjer je xUnit okvir,In xunit.runner.visualstudio je paket vtičnikov za VS, da lahko enostavno odpravljamo napake v VS.Namestitev xunit.runner.console je mogoče prav tako razhroščevati pod CMDČe pa bo to podprto, verjamem, da tega ogrodja ne bo uporabljalo veliko ljudi, saj način tipkanja ukazov resno znižuje oceno Visual Studia, zato tega tukaj ne bom razlagal.

Tukaj namestimo le vtičnik xunit.runner.visualstudio, desni klik na projekt v Solution Explorer in izberemo Upravljanje NuGet paketov. Poiščite (in namestite) paket z imenom xunit.runner.visualstudio:



Poskrbite, da je testni brskalnik viden (pojdite v okno Test > > Test Explorerju). Vsakič, ko je projekt zgrajen, runner odkrije enotske teste v projektu. Po obdobju odkrivanja bi morali videti seznam odkritih testov:



Uredite datoteko programa in spremenite naslednjo kodo:

Kliknite povezavo v oknu Zaženi vse in ob izvajanju testa bi morali videti posodobitev rezultata v oknu Raziskovalca testov:



Lahko kliknete na neuspešen test, da si ogledate sporočilo o napaki in sledenje skladu. Klikneš lahko na vrstico sledenja skladu, da greš neposredno na neuspešno vrstico kode.

(Konec)





Prejšnji:Budilka Sleep Your Sister v4.6.1 Professional Paid Premium kitajska različica
Naslednji:Današnje študijske opombe za C#
 Najemodajalec| Objavljeno na 22. 01. 2019 15:19:24 |
Xunit ne potrebuje označevanja testnih razredov

xUnit podpira tako lastnosti [Dejstvo] kot [Teorija]. Kot lahko vidite iz kode, je [Fact] podoben dejanski klicni kodi, ki jo pišemo, medtem ko lahko [Theory] z InlineData neposredno testira več sklopov parametrov v eni metodi.

 Najemodajalec| Objavljeno na 22. 01. 2019 15:31:55 |
Testiranje anomalij

Xunit ne označuje ujetih izjem preko atributov, temveč neposredno uporablja funkcijo assertion Assert.Throws za preverjanje izjem.

    javni razred TestRazred 1
    {
        [Dejstvo]
        test javne praznineException()
        {
            Assert.Throws<InvalidOperationException>(() => operation());
        }

        void operation()
        {
            throw new InvalidOperationException();
        }
    }



Spremenite ime testnega primera:

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



Preskočite testne primere:

     [fact(skip="refaktoring incomplete")]



Združevanje:

     [Lastnost ("Skupina", "Kategorija")]
 Najemodajalec| Objavljeno na 22. 01. 2019 15:37:28 |
V mnogih primerih ne želimo, da enotski testi vplivajo na vsebino v bazi podatkov, včasih pa so naši enotski testi zaradi vpliva baze zelo počasni, zato pogosto želimo izolirati del vztrajnosti in podatkov pri enotskih testih ne ohranjati. Ta vrsta izolacije Običajno uporabljamo abstrakcijo, torej uporabljamo vmesnike ali abstraktne razrede za izolacijo plasti obstojnosti, nato pa uporabljamo mocke za simulacijo ustreznih vmesnikov ali abstraktne razrede za dopolnitev ustreznih razredov obstojnosti. MoQ je eden izmed teh Mock ogrodij, MoQ uporablja C# 3.0, ki je enostavnejši za uporabo kot NMock, je močno tipiziran način, izvorna koda in dll pa sta dostopnaPrijava do hiperpovezave je vidna.Prenesi. Najnovejša izdaja MoQ je zdaj različica 3.1, 4.0 pa je še vedno v beta fazi.
https://www.cnblogs.com/catcher1994/p/5498530.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com