Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 31285|Vastaus: 3

[Lähde] .net/c# käyttää xunit-yksikkötestejä

[Kopioi linkki]
Julkaistu 22.1.2019 14.58.26 | | | |
Olen tällä hetkellä sisällä. Net-kehyksen testaustyökalut sisältävät pääasiassa Nunitin, sisäänrakennetun MSTestin ja Xunitin, ja tässä artikkelissa esitellään lyhyesti, miten XUnitin käyttöä tarvitaan, joka on VS:n nouseva tähti.

Xunitin tukema minimisuoritusaika on . NET 4.5.2, joista useimmat ovat korkeampia. Vaikka pystyisit rakentamaan 4.0-luokkakirjaston, se toimii silti ainakin .NET 4.5.2:ssa. Yksityiskohtaiset linkit:https://github.com/xunit/xunit/issues/1817


Ensiksi loin uuden .NET 4.5.2 -konsoliprojektin nimellä: itsvse-test, ja uusin xunit-versio on: 2.4.1, joten nuget-komento on seuraava:

Jokainen paketti on lisensoitu sinulle omistajansa toimesta. NuGet ei ole vastuussa kolmannen osapuolen paketeista eikä lisensoi niitä. Jotkut paketit voivat sisältää riippuvuuksia, jotka ovat muiden lisenssien alaisia. Klikkaa paketin lähde-URL-osoitetta määrittääksesi mahdolliset riippuvuudet.

Package Manager console host version 4.7.0.5212

Kirjoita "get-help NuGet" nähdäksesi kaikki saatavilla olevat NuGet-komennot.

PM> Install-Package xunit -versio 2.4.1


Yrityksiä tehdään kerätä ja kohdistaa ". NETFramework, Version=v4.5.2" projektista "itsvse-test" koskien pakettia "xunit.2.4.1"
Riippuvuustietojen kerääminen vie 2,1 sekuntia
Yritän ratkaista paketin "xunit.2.4.1" riippuvuuden DependencyBehaviorilla "Alhaisin"
Riippuvuustiedon jäsentäminen vie 0 ms
Jäsentämisoperaatio paketin "xunit.2.4.1" asentamiseksi
Ratkaistu operaatio asentaa paketti "xunit.2.4.1"
Hae paketti "xunit 2.4.1" "cnblogsista"
Hae paketti "xunit.abstractions 2.0.3" "cnblogsista"
Hae paketti "xunit.analyzers 0.10.0" "cnblogsista"
Hae paketti "xunit.assert 2.4.1" "cnblogsista"
Hae paketti "xunit.core 2.4.1" osoitteesta "cnblogs"
Hae paketti "xunit.extensibility.core 2.4.1" osoitteesta "cnblogs"
Hae paketti "xunit.extensibility.execution 2.4.1" osoitteesta "cnblogs"
  MENEhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  MENEhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  OKEIhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  OKEIhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Xunit.Abstractions 2.0.3:n asennus.
Asennan xunit 2.4.1:n.
  OKEIhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Xunit.core 2.4.1:n asennus.
  OKEIhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Asennan xunit.assert 2.4.1.
  OKEIhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Asennan xunit.extensibility.core 2.4.1.
  OKEIhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Asennetaan xunit.analyzers 0.10.0.
  OKEIhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Asennetaan xunit.extensibility.execution 2.4.1.
Lisätään paketti "xunit.abstractions.2.0.3" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.abstractions.2.0.3" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.abstractions.2.0.3" kohtaan "packages.config"
Onnistuneesti asennettu "xunit.abstractions 2.0.3" itsvse-testiin
Lisätään vain työkalupaketti "xunit.analyzers.0.10.0" "itsvse-testiin"
Lisätään paketti "xunit.analyzers.0.10.0" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.analyzers.0.10.0" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.analyzers.0.10.0" kohtaan "packages.config"
Skriptitiedosto "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" on onnistuneesti asennettu itsvse-testiin
Lisätään paketti "xunit.assert.2.4.1" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.assert.2.4.1" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.assert.2.4.1" kohtaan "packages.config"
"xunit.assert 2.4.1" on onnistuneesti asennettu itsvse-testiin
Lisätään paketti "xunit.extensibility.core.2.4.1" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.extensibility.core.2.4.1" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.extensibility.core.2.4.1" kohtaan "packages.config"
"xunit.extensibility.core 2.4.1" on onnistuneesti asennettu itsvse-testiin
Lisätään paketti "xunit.extensibility.execution.2.4.1" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.extensibility.execution.2.4.1" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.extensibility.execution.2.4.1" kohtaan "packages.config"
"xunit.extensibility.execution 2.4.1" on onnistuneesti asennettu itsvse-testiin
Lisätään paketti "xunit.core.2.4.1" kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.core.2.4.1" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Lisätty paketti "xunit.core.2.4.1" kohtaan "packages.config"
"xunit.core 2.4.1" on onnistuneesti asennettu itsvse-testiin
Lisätään paketti "xunit.2.4.1", jossa on vain riippuvuuksia projektiin "itsvse-test".
Paketti "xunit.2.4.1" lisätään kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.2.4.1" on lisätty kansioon "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paketti "xunit.2.4.1" on lisätty kohtaan "packages.config"
"xunit 2.4.1" on onnistuneesti asennettu itsvse-testiin
Nuget suoritti 5,51 sekuntia
Kulunut aika: 00:00:07.7781544
PM>
Asenna lisäosapaketit: xunit.runner.console (jätetty pois tästä artikkelista) ja xunit.runner.visualstudio

missä xUnit on kehys,Ja xunit.runner.visualstudio on VS-lisäosapaketti, jotta voimme helposti debugata VS:ssä.xunit.runner.console -asennuksen voi myös debuggata CMD:lläMutta jos vain tätä tuetaan, uskon, että harva käyttää tätä kehystä, sillä komentojen kirjoittamisen tapa laskee Visual Studion tasoa vakavasti, joten en selitä sitä tässä.

Täällä asennamme vain xunit.runner.visualstudio-lisäosapaketin, klikkaamme projektia oikealla Solution Explorerissa ja valitsemme Manage NuGet Packages. Etsi (ja asenna) paketti nimeltä xunit.runner.visualstudio:



Varmista, että testiselain näkyy (mene Test > -ikkunaan > Test Explorer). Joka kerta kun projekti rakennetaan, juoksija löytää yksikkötestit projektista. Tutkimisen jälkeen sinun tulisi nähdä lista löydetyistä testeistä:



Muokkaa ohjelmatiedostoa ja muuta seuraava koodi:

Klikkaa linkkiä Suorita kaikki -ikkunassa, niin sinun pitäisi nähdä tulosten päivitys Testin Resurssien hallinta-ikkunassa, kun suoritat testin:



Voit klikata epäonnistunutta testiä nähdäksesi vikaviestin ja pinon jäljen. Voit klikata pinon jäljitysriviä päästäksesi suoraan epäonnistuneeseen koodiriviin.

(Loppu)





Edellinen:Sleep Your Sister Awaken Clock v4.6.1 Professional Paid Premium Kiinan versio
Seuraava:Tämän päivän C#-opintomuistiinpanot
 Vuokraisäntä| Julkaistu 22.1.2019 15.19.24 |
Xunitin ei tarvitse tägätä testiluokkia

xUnit tukee sekä [Fact]- että [Theory]-ominaisuuksia. Kuten koodista näkyy, [Fact] on samankaltainen kuin varsinainen kutsukoodi, jonka kirjoitamme, kun taas [Theory] InlineDatalla voi testata useita parametrijoukkoja suoraan yhdellä menetelmällä.

 Vuokraisäntä| Julkaistu 22.1.2019 15.31.55 |
Anomaliatestaus

Xunit ei merkitse poikkeuskaappauksia attribuuttien kautta, vaan käyttää suoraan Assert.Throws-assertiofunktiota poikkeusten validointiin.

    julkinen luokka Testiluokka 1
    {
        [Fakta]
        public void testException()
        {
            <InvalidOperationException>Assert.Throws(() => operation());
        }

        Void-operaatio()
        {
            heittää uuden InvalidOperationException();
        }
    }



Vaihda testitapauksen nimi:

     [Fact(DisplayName = "Maksimitoimintotesti")]



Jätä testitapaukset väliin:

     [fact(skip="refaktorointi kesken")]



Ryhmittely:

     [Ominaisuus("Ryhmä", "Kategoria")]
 Vuokraisäntä| Julkaistu 22.1.2019 15.37.28 |
Monissa tapauksissa emme halua, että yksikkötestit vaikuttavat tietokannan sisältöön, ja joskus yksikkötestit ovat hyvin hitaita tietokannan vaikutuksen vuoksi, joten haluamme usein eristää pysyvyysosuuden emmekä oikeastaan säilytä dataa yksikkötesteissä. Tällainen eristys Käytämme yleensä abstraktioa, eli käytämme rajapintoja tai abstraktia luokkia persistenssikerroksen eristämiseen, ja käytämme sitten mock-malleja simuloidaksemme vastaavia rajapintoja tai abstraktia luokkia täydentämään vastaavat pysyvyysluokat. MoQ on yksi näistä mock-kehyksistä, MoQ käyttää C# 3.0:aa, joka on helpompi käyttää kuin NMock, ja se on vahvasti tyypitetty, ja lähdekoodiin ja dll:ään pääsee käsiksiHyperlinkin kirjautuminen on näkyvissä.Lataa. MoQ:n uusin versio on nyt versio 3.1, ja 4.0 on vielä betavaiheessa.
https://www.cnblogs.com/catcher1994/p/5498530.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com