Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 31285|Atsakyti: 3

[Šaltinis] .net/c# naudoja xunit vienetų testus

[Kopijuoti nuorodą]
Paskelbta 2019-01-22 14:58:26 | | | |
Šiuo metu. Testavimo įrankiai pagal Net sistemą daugiausia apima Nunit, integruotą MSTest ir Xunit, ir šiame straipsnyje bus trumpai pristatyta, kaip naudoti XUnit, kylančią žvaigždę VS.

Minimalus xunit palaikomas veikimo laikas yra . GRYNASIS 4.5.2, kurių dauguma yra didesnės. Net jei galite sukurti 4.0 klasės biblioteką, ji vis tiek veiks bent .NET 4.5.2. Išsamios nuorodos:https://github.com/xunit/xunit/issues/1817


Pirmiausia sukūriau naują .NET 4.5.2 konsolės projektą pavadinimu: itsvse-test, o naujausia xunit versija yra: 2.4.1, taigi nuget komanda yra tokia:

Kiekvieną paketą jums licencijuoja jo savininkas. "NuGet" neatsako už trečiųjų šalių paketus ir jų nelicencijuoja. Kai kuriuose paketuose gali būti priklausomybių, kurioms taikomos kitos licencijos. Spustelėkite paketo šaltinio (šaltinio) URL, kad nustatytumėte priklausomybes.

Paketų tvarkyklės konsolės pagrindinio kompiuterio versija 4.7.0.5212

Įveskite "get-help NuGet", kad pamatytumėte visas galimas NuGet komandas.

PM> diegimo paketas xunit - 2.4.1 versija


Bandoma rinkti ir nukreipti ". NETFramework, Version=v4.5.2" projekto "itsvse-test" apie paketą "xunit.2.4.1"
Priklausomybės informacijos rinkimas užtrunka 2,1 sek.
Bandoma išspręsti paketo "xunit.2.4.1" priklausomybę su DependencyBehavior kaip "Lowest"
Priklausomybės informacijos analizė trunka 0 ms
Analizės operacija paketui "xunit.2.4.1" įdiegti
Išspręsta paketo "xunit.2.4.1" diegimo operacija
Gauti paketą "xunit 2.4.1" iš "cnblogs"
Gauti paketą "xunit.abstractions 2.0.3" iš "cnblogs"
Gauti paketą "xunit.analyzers 0.10.0" iš "cnblogs"
Gauti paketą "xunit.assert 2.4.1" iš "cnblogs"
Gaukite paketą "xunit.core 2.4.1" iš "cnblogs"
Gaukite paketą "xunit.extensibility.core 2.4.1" iš "cnblogs"
Gaukite paketą "xunit.extensibility.execution 2.4.1" iš "cnblogs"
  GAUTIhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  GAUTIhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  GERAIhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  GERAIhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
xunit.abstractions 2.0.3 diegimas.
xunit 2.4.1 diegimas.
  GERAIhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
xunit.core 2.4.1 diegimas.
  GERAIhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
xunit.assert 2.4.1 diegimas.
  GERAIhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
xunit.extensibility.core 2.4.1 diegimas.
  GERAIhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
xunit.analyzers 0.10.0 diegimas.
  GERAIhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
xunit.extensibility.execution 2.4.1 diegimas.
Paketo "xunit.abstractions.2.0.3" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.abstractions.2.0.3" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.abstractions.2.0.3" į "packages.config"
Sėkmingai įdiegta "xunit.abstractions 2.0.3" į itsvse-test
Tik įrankių rinkinio paketo "xunit.analyzers.0.10.0" pridėjimas prie "itsvse-test"
Paketo "xunit.analyzers.0.10.0" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.analyzers.0.10.0" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.analyzers.0.10.0" prie "packages.config"
Scenarijaus failas "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" sėkmingai įdiegtas į itsvse-test
Paketo "xunit.assert.2.4.1" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.assert.2.4.1" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.assert.2.4.1" į "packages.config"
"xunit.assert 2.4.1" buvo sėkmingai įdiegtas į itsvse-test
Paketo "xunit.extensibility.core.2.4.1" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.extensibility.core.2.4.1" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.extensibility.core.2.4.1" prie "packages.config"
"xunit.extensibility.core 2.4.1" sėkmingai įdiegtas į itsvse-test
Paketo "xunit.extensibility.execution.2.4.1" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.extensibility.execution.2.4.1" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.extensibility.execution.2.4.1" į "packages.config"
"xunit.extensibility.execution 2.4.1" buvo sėkmingai įdiegtas į itsvse-test
Paketo "xunit.core.2.4.1" pridėjimas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.core.2.4.1" buvo pridėtas prie aplanko "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pridėtas paketas "xunit.core.2.4.1" į "packages.config"
"xunit.core 2.4.1" sėkmingai įdiegtas į itsvse-test
Paketo "xunit.2.4.1" pridėjimas tik su priklausomybėmis prie projekto "itsvse-test".
Paketas "xunit.2.4.1" įtraukiamas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.2.4.1" buvo įtrauktas į aplanką "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketas "xunit.2.4.1" buvo pridėtas prie "packages.config"
"xunit 2.4.1" buvo sėkmingai įdiegta į itsvse-test
Nuget užtruko 5,51 sek.
Praėjęs laikas: 00:00:07.7781544
PM>
Įdiekite priedų paketus: xunit.runner.console (šiame straipsnyje praleista) ir xunit.runner.visualstudio

kur xUnit yra sistema,O xunit.runner.visualstudio yra VS papildinių paketas, kad galėtume lengvai derinti VS."xunit.runner.console" diegimą taip pat galima derinti naudojant CMDBet jei tik tai bus palaikoma, manau, kad nedaug žmonių naudosis šia sistema, juk komandų rašymo būdas rimtai sumažina "Visual Studio" lygį, todėl čia to nepaaiškinsiu.

Čia įdiegiame tik xunit.runner.visualstudio papildinio paketą, dešiniuoju pelės mygtuku spustelėkite projektą sprendimų naršyklėje ir pasirinkite Tvarkyti NuGet paketus. Ieškokite (ir įdiekite) paketo pavadinimu xunit.runner.visualstudio:



Įsitikinkite, kad bandomoji naršyklė yra matoma (eikite į langą "Test >" > "Test Explorer"). Kiekvieną kartą, kai projektas kuriamas, bėgikas atranda vieneto testus projekte. Po atradimo laikotarpio turėtumėte pamatyti atrastų testų sąrašą:



Redaguokite programos failą ir pakeiskite šį kodą:

Spustelėkite nuorodą lange Vykdyti viską ir atlikdami testą turėtumėte pamatyti rezultatų naujinimą lange "Test Explorer":



Galite spustelėti nepavykusį testą, kad peržiūrėtumėte gedimo pranešimą ir rietuvės sekimą. Galite spustelėti rietuvės sekimo eilutę, kad pereitumėte tiesiai į nepavykusią kodo eilutę.

(Pabaiga)





Ankstesnis:Miegokite savo seserį žadintuvas v4.6.1 Profesionali mokama aukščiausios kokybės kinų versija
Kitą:Šiandienos C# tyrimo pastabos
 Savininkas| Paskelbta 2019-01-22 15:19:24 |
Xunit nereikia žymėti testų klasių

xUnit palaiko ir [Faktas], ir [Teorija] savybes. Kaip matote iš kodo, [Faktas] yra panašus į tikrąjį skambučio kodą, kurį rašome, o [Teorija] su "InlineData" gali tiesiogiai išbandyti kelis parametrų rinkinius vienu metodu.

 Savininkas| Paskelbta 2019-01-22 15:31:55 |
Anomalijų testavimas

Xunit nežymi išimčių gaudymo per atributus, bet tiesiogiai naudoja Assert.Throws tvirtinimo funkciją išimtims patikrinti.

    vieša klasė TestClass1
    {
        [Faktas]
        public void testException()
        {
            Assert.Throws<InvalidOperationException>(() => operacija());
        }

        void operacija ()
        {
            mesti naują InvalidOperationException();
        }
    }



Pakeiskite bandymo atvejo pavadinimą:

     [Fact(DisplayName = "Maksimalus funkcijos testas")]



Praleiskite testavimo atvejus:

     [fact(skip="refactoring incomplete")]



Grupavimas:

     [Savybė("Grupė", "Kategorija")]
 Savininkas| Paskelbta 2019-01-22 15:37:28 |
Daugeliu atvejų nenorime, kad vienetų testai paveiktų duomenų bazės turinį, o kartais mūsų vienetų testai bus labai lėti dėl duomenų bazės poveikio, todėl dažnai norime izoliuoti patvarumo dalį ir tikrai neišliekame duomenų atlikdami vienetų testus. Tokia izoliacija Paprastai naudojame abstrakciją, tai yra, naudojame sąsajas arba abstrakčias klases, kad izoliuotume patvarumo sluoksnį, o tada naudojame imitacinius būdus, kad imituotume atitinkamas sąsajas arba abstrakčias klases, kad užbaigtume atitinkamas patvarumo klases. MoQ yra viena iš šių bandomųjų sistemų, MoQ naudoja C# 3.0, kurį naudoti paprasčiau nei NMock, ir tai yra stipriai įvestas būdas, o šaltinio kodą ir dll galima pasiektiHipersaito prisijungimas matomas.Parsisiųsti. Naujausia MoQ versija dabar yra 3.1, o 4.0 vis dar yra beta versijoje.
https://www.cnblogs.com/catcher1994/p/5498530.html
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com