Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 31285|Răspunde: 3

[Sursă] .net/c# folosește teste unitare xunit

[Copiază linkul]
Postat pe 22.01.2019 14:58:26 | | | |
Sunt în prezent. Instrumentele de testare din cadrul Net includ în principal Nunit, MSTest integrat și Xunit, iar acest articol va prezenta pe scurt cum să folosești XUnit, o stea în ascensiune în VS.

Timpul minim de execuție suportat de xunit este . NET 4.5.2, majoritatea fiind mai mari. Chiar dacă poți construi o bibliotecă de clase 4.0, tot va funcționa cel puțin pe .NET 4.5.2. Linkuri detaliate:https://github.com/xunit/xunit/issues/1817


Mai întâi, am creat un nou proiect de consolă .NET 4.5.2 cu numele: itsvse-test, iar cea mai recentă versiune a xunit este: 2.4.1, deci comanda nuget este următoarea:

Fiecare pachet îți este licențiat de către proprietarul său. NuGet nu este responsabil pentru pachetele terțe și nu le licențiează. Unele pachete pot include dependențe care sunt supuse altor licențe. Faceți clic pe URL-ul sursei pachetului (sursă) pentru a determina eventualele dependențe.

Pachetul Manager versiunea gazdă a consolei 4.7.0.5212

Tastează "get-help NuGet" pentru a vedea toate comenzile NuGet disponibile.

PM> Install-Package xunit -Versiunea 2.4.1


Se fac încercări de a colecta și ținti ". NETFramework, Version=v4.5.2" al proiectului "itsvse-test" despre pachetul "xunit.2.4.1"
Colectarea informațiilor despre dependențe durează 2,1 secunde
Încercarea de a rezolva dependența pachetului "xunit.2.4.1" cu DependencyBehavior ca "Lowest"
Analizarea informațiilor despre dependențe durează 0 ms
Operație de analiză pentru instalarea pachetului "xunit.2.4.1"
S-a rezolvat operațiunea de instalare a pachetului "xunit.2.4.1"
Recuperează pachetul "xunit 2.4.1" de pe "cnblogs"
Recuperează pachetul "xunit.abstractions 2.0.3" de pe "cnblogs"
Recuperează pachetul "xunit.analyzers 0.10.0" de pe "cnblogs"
Recuperează pachetul "xunit.assert 2.4.1" de pe "cnblogs"
Recuperează pachetul "xunit.core 2.4.1" de pe "cnblogs"
Recuperează pachetul "xunit.extensibility.core 2.4.1" de pe "cnblogs"
Recuperează pachetul "xunit.extensibility.execution 2.4.1" de pe "cnblogs"
  PLEACĂhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  PLEACĂhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  PLEACĂhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  PLEACĂhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  PLEACĂhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  PLEACĂhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  PLEACĂ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
Instalarea xunit.abstractions 2.0.3.
Instalez xunit 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Instalez xunit.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Instalez xunit.assert 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Instalez xunit.extensibility.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Instalez xunit.analyzers 0.10.0.
  OKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Instalarea xunit.extensibility.execution 2.4.1.
Adăugarea pachetului "xunit.abstractions.2.0.3" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.abstractions.2.0.3" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.abstractions.2.0.3" adăugat la "packages.config"
Am instalat cu succes "xunit.abstractions 2.0.3" în testul itsvse
Adăugarea doar a pachetului de instrumente "xunit.analyzers.0.10.0" la "itsvse-test"
Adăugarea pachetului "xunit.analyzers.0.10.0" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.analyzers.0.10.0" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
A adăugat pachetul "xunit.analyzers.0.10.0" în "packages.config"
Fișier script "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" a fost instalat cu succes la testul său
Adăugarea pachetului "xunit.assert.2.4.1" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.assert.2.4.1" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.assert.2.4.1" adăugat la "packages.config"
"xunit.assert 2.4.1" a fost instalat cu succes la testul său
Adăugarea pachetului "xunit.extensibility.core.2.4.1" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.extensibility.core.2.4.1" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
A adăugat pachetul "xunit.extensibility.core.2.4.1" în "packages.config"
"xunit.extensibility.core 2.4.1" a fost instalat cu succes la testul său
Adăugarea pachetului "xunit.extensibility.execution.2.4.1" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.extensibility.execution.2.4.1" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
A adăugat pachetul "xunit.extensibility.execution.2.4.1" la "packages.config"
"xunit.extensibility.execution 2.4.1" a fost instalat cu succes la testul ITSVSE
Adăugarea pachetului "xunit.core.2.4.1" în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.core.2.4.1" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
A adăugat pachetul "xunit.core.2.4.1" la "packages.config"
"xunit.core 2.4.1" a fost instalat cu succes la testul său
Adăugarea pachetului "xunit.2.4.1" cu doar dependențe pentru a proiecta "itsvse-test".
Pachetul "xunit.2.4.1" este adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.2.4.1" a fost adăugat în folderul "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Pachetul "xunit.2.4.1" a fost adăugat la "packages.config"
"xunit 2.4.1" a fost instalat cu succes la testul său
Nuget a avut nevoie de 5,51 secunde pentru execuție
Timp scurs: 00:00:07.7781544
PM>
Instalează pachetele plug-in: xunit.runner.console (omis în acest articol) și xunit.runner.visualstudio

unde xUnit este cadrul,Iar xunit.runner.visualstudio este pachetul de plugin VS, astfel încât să putem depana ușor în VS.Instalarea xunit.runner.console poate fi de asemenea depanată sub CMDDar dacă doar acest lucru ar fi suportat, cred că nu mulți oameni vor folosi acest framework, până la urmă, modul de tastare a comenzilor scade serios calitatea Visual Studio, așa că nu voi explica aici.

Aici, instalăm doar pachetul de pluginuri xunit.runner.visualstudio, dăm click dreapta pe proiect în Solution Explorer și selectăm Administrează pachetele NuGet. Caută (și instalează) un pachet numit xunit.runner.visualstudio:



Asigură-te că browserul de teste este vizibil (mergi la fereastra > de testare > Explorer). De fiecare dată când un proiect este construit, runner-ul descoperă teste unitare în proiect. După o perioadă de descoperire, ar trebui să vezi o listă cu testele descoperite:



Editează fișierul Program și schimbă următorul cod:

Faceți clic pe linkul din fereastra Run All și ar trebui să vedeți actualizarea rezultatului în fereastra Test Explorer când rulați testul:



Poți da click pe testul eșuat pentru a vedea mesajul de eșec și urmărirea stack-ului. Poți da click pe linia de urmărire a stivei pentru a merge direct la linia de cod eșuată.

(Sfârșit)





Precedent:Ceasul deșteptător Sleep Your Sister v4.6.1 Versiunea profesională premium plătită în chineză
Următor:Notele de studiu C# de astăzi
 Proprietarul| Postat pe 22.01.2019 15:19:24 |
Xunit nu trebuie să eticheteze clasele de testare

xUnit suportă atât proprietățile [Fapt], cât și [Teorie]. După cum se vede din cod, [Fact] este similar cu codul de apel real pe care îl scriem, în timp ce [Theory] cu InlineData poate testa mai multe seturi de parametri direct într-o singură metodă.

 Proprietarul| Postat pe 22.01.2019 15:31:55 |
Testarea anomaliilor

Xunit nu marchează capturile excepțiilor prin Attributes, ci folosește direct funcția de aserție Assert.Throws pentru a valida excepțiile.

    clasa publică TestClass1
    {
        [Fapt]
        test public voidException()
        {
            Assert.Throws<InvalidOperationException>() = > operațiune());
        }

        Operațiune void()
        {
            aruncă un nou InvalidOperationException();
        }
    }



Schimbă numele cazului de test:

     [Fapt(DisplayName = "Testul Funcției Maxime")]



Săriți peste cazurile de testare:

     [fact(skip="refactorizare incomplet")]



Grupare:

     [Trăsătură("Grup", "Categorie")]
 Proprietarul| Postat pe 22.01.2019 15:37:28 |
În multe cazuri, nu vrem ca testele unitare să afecteze conținutul din baza de date, iar uneori testele unitare vor fi foarte lente din cauza impactului bazei de date, așa că adesea vrem să izolăm partea de persistență și nu persistăm cu adevărat datele când facem teste unitare. Acest tip de izolare folosim în general abstracția, adică folosim interfețe sau clase abstracte pentru a izola stratul de persistență, iar apoi folosim mock-uri pentru a simula interfețele corespunzătoare sau clasele abstracte pentru a completa clasele de persistență corespunzătoare. MoQ este unul dintre aceste framework-uri Mock, MoQ folosește C# 3.0, care este mai simplu de folosit decât NMock și este o metodă puternic tipată, iar codul sursă și dll pot fi accesateAutentificarea cu hyperlink este vizibilă.Descarcă. Ultima versiune a MoQ este acum versiunea 3.1, iar 4.0 este încă în beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com