Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 31285|Svare: 3

[Kilde] .net/c# bruker xunit-enhetstester

[Kopier lenke]
Publisert på 22.01.2019 14:58:26 | | | |
Er for øyeblikket i gang. Testverktøyene under Net-rammeverket inkluderer hovedsakelig Nunit, innebygd MSTest og Xunit, og denne artikkelen vil kort introdusere hvordan man bruker XUnit, en stigende stjerne i VS.

Minimum kjøretid støttet av xunit er . NET 4.5.2, hvorav de fleste er høyere. Selv om du kan bygge et 4.0-klassebibliotek, vil det fortsatt fungere på minst .NET 4.5.2. Detaljerte lenker:https://github.com/xunit/xunit/issues/1817


Først opprettet jeg et nytt .NET 4.5.2-konsollprosjekt med navnet: itsvse-test, og den nyeste versjonen av xunit er: 2.4.1, så nuget-kommandoen er som følger:

Hver pakke lisensieres til deg av sin eier. NuGet er ikke ansvarlig for tredjepartspakker og lisensierer dem ikke. Noen pakker kan inkludere avhengigheter som er underlagt andre lisenser. Klikk på URL-en til pakkens kilde (kilde) for å finne eventuelle avhengigheter.

Package Manager konsolvertversjon 4.7.0.5212

Skriv "get-help NuGet" for å se alle tilgjengelige NuGet-kommandoer.

PM> Installasjonspakke xunit -versjon 2.4.1


Det gjøres forsøk på å samle inn og målrette". NETFramework, versjon=v4.5.2" av prosjektet "itsvse-test" om pakken "xunit.2.4.1"
Det tar 2,1 sekunder å samle inn avhengighetsinformasjon
Prøver å løse avhengigheten til pakken "xunit.2.4.1" med DependencyBehavior som "Lowest"
Parsing av avhengighetsinformasjon tar 0 ms
Parsingoperasjon for å installere pakken "xunit.2.4.1"
Løste operasjonen for å 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Å TAKhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  FÅ TAKhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  FÅ TAKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  FÅ TAKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  FÅ TAKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  FÅ TAKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  FÅ TAKhttps://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
Installerer xunit.abstractions 2.0.3.
Installerer xunit 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installerer xunit.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installerer xunit.assert 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installerer xunit.extensibility.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installerer xunit.analyzers 0.10.0.
  OKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installerer xunit.extensibility.execution 2.4.1.
Legger til pakken "xunit.abstractions.2.0.3" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.abstractions.2.0.3" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.abstractions.2.0.3" til "packages.config"
Installerte vellykket "xunit.abstractions 2.0.3" til itsvse-test
Legge til verktøysett-only pakken "xunit.analyzers.0.10.0" til "itsvse-test"
Legge til pakken "xunit.analyzers.0.10.0" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.analyzers.0.10.0" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.analyzers.0.10.0" i "packages.config"
Skriptfil "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" har blitt vellykket installert i itsvse-test
Legger til pakken "xunit.assert.2.4.1" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.assert.2.4.1" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.assert.2.4.1" til "packages.config"
"xunit.assert 2.4.1" har blitt vellykket installert til itsvse-test
Legger til pakken "xunit.extensibility.core.2.4.1" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.extensibility.core.2.4.1" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.extensibility.core.2.4.1" til "packages.config"
"xunit.extensibility.core 2.4.1" har blitt vellykket installert til itsvse-test
Legger til pakken "xunit.extensibility.execution.2.4.1" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.extensibility.execution.2.4.1" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.extensibility.execution.2.4.1" til "packages.config"
"xunit.extensibility.execution 2.4.1" har blitt vellykket installert til itsvse-test
Legger til pakken "xunit.core.2.4.1" i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.core.2.4.1" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
La til pakken "xunit.core.2.4.1" til "packages.config"
"xunit.core 2.4.1" har blitt vellykket installert til itsvse-test
Legger til pakken "xunit.2.4.1" med kun avhengigheter til prosjekt "itsvse-test".
Pakken "xunit.2.4.1" legges til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.2.4.1" er lagt til i mappen "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pakken "xunit.2.4.1" er lagt til i "packages.config"
"xunit 2.4.1" har blitt vellykket installert til itsvse-test
Nuget brukte 5,51 sekunder på å utføre
Tid som gikk: 00:00:07.7781544
PM>
Installer plug-in-pakkene: xunit.runner.console (utelatt i denne artikkelen) og xunit.runner.visualstudio

hvor xUnit er rammeverket,Og xunit.runner.visualstudio er VS-pluginpakken, slik at vi enkelt kan feilsøke i VS.Installasjon av xunit.runner.console kan også feilsøkes under CMDMen hvis bare dette støttes, tror jeg ikke mange vil bruke dette rammeverket, tross alt senker måten å skrive kommandoer på kvaliteten på Visual Studio betydelig, så jeg vil ikke forklare det her.

Her installerer vi kun xunit.runner.visualstudio-pluginpakken, høyreklikker på prosjektet i Løsningsutforsker og velger Administrer NuGet-pakker. Søk etter (og installer) en pakke kalt xunit.runner.visualstudio:



Sørg for at testnettleseren er synlig (gå til Test >-vinduet > Test Explorer). Hver gang et prosjekt bygges, oppdager runneren enhetstester i prosjektet. Etter en oppdagelsesperiode bør du se en liste over oppdagede tester:



Rediger Program-filen og endre følgende kode:

Klikk på lenken i Kjør alle-vinduet, så skal du se resultatoppdateringen i Testutforsker-vinduet når du kjører testen:



Du kan klikke på den mislykkede testen for å se feilmeldingen og stack trace. Du kan klikke på stack trace-linjen for å gå direkte til den feilede kodelinjen.

(Slutt)





Foregående:Sleep Your Sister vekkerklokke v4.6.1 Profesjonell betalt premium kinesisk versjon
Neste:Dagens C# Study Notes
 Vert| Publisert på 22.01.2019 15:19:24 |
Xunit trenger ikke å tagge testklasser

xUnit støtter både [Fact]- og [Theory]-egenskaper. Som du kan se fra koden, er [Fact] lik den faktiske kallkoden vi skriver, mens [Theory] med InlineData kan teste flere sett med parametere direkte i én metode.

 Vert| Publisert på 22.01.2019 15:31:55 |
Anomalitesting

Xunit flagger ikke unntaksfangster via Attributes, men bruker direkte Assert.Throws-assertionsfunksjonen for å validere unntak.

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

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



Endre navnet på testtilfellet:

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



Hopp over testtilfeller:

     [fact(skip="refaktorering ufullstendig")]



Gruppering:

     [Egenskap("Gruppe", "Kategori")]
 Vert| Publisert på 22.01.2019 15:37:28 |
I mange tilfeller ønsker vi ikke at enhetstester skal påvirke innholdet i databasen, og noen ganger vil enhetstestene våre være veldig trege på grunn av påvirkningen fra databasen, så vi ønsker ofte å isolere persistensdelen, og lagrer ikke dataene når vi gjør enhetstester. Denne typen isolasjon Vi bruker vanligvis abstraksjon, det vil si å bruke grensesnitt eller abstrakte klasser for å isolere persistenslaget, og deretter bruke mocks for å simulere tilsvarende grensesnitt eller abstrakte klasser for å fullføre de tilsvarende persistensklassene. MoQ er et av disse mock-rammeverkene, MoQ bruker C# 3.0, som er enklere å bruke enn NMock, og det er en sterkt typet måte, og kildekoden og dll kan nåsInnloggingen med hyperkoblingen er synlig.Last ned. Den nyeste utgivelsen av MoQ er nå versjon 3.1, og 4.0 er fortsatt i beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com