Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 31285|Risposta: 3

[Fonte] .net/c# utilizza test unitari xunit

[Copiato link]
Pubblicato su 22/01/2019 14:58:26 | | | |
Attualmente sono dentro. Gli strumenti di test all'interno del framework Net includono principalmente Nunit, MSTest integrato e Xunit, e questo articolo introdurrà brevemente come utilizzare XUnit, una stella nascente in VS.

Il tempo di esecuzione minimo supportato da xunit è . NET 4.5.2, la maggior parte delle quali è più alta. Anche se riesci a costruire una libreria di classi 4.0, funzionerà comunque almeno su .NET 4.5.2. Link dettagliati:https://github.com/xunit/xunit/issues/1817


Per prima cosa, ho creato un nuovo progetto console .NET 4.5.2 con il nome: itsvse-test, e l'ultima versione di xunit è: 2.4.1, quindi il comando nuget è il seguente:

Ogni pacco è concesso in licenza a te dal suo proprietario. NuGet non è responsabile per i pacchetti di terze parti e non li concede in licenza. Alcuni pacchetti possono includere dipendenze soggette ad altre licenze. Clicca sull'URL sorgente del pacchetto (fonte) per determinare eventuali dipendenze.

Package Manager console host versione 4.7.0.5212

Digita "get-help NuGet" per vedere tutti i comandi NuGet disponibili.

PM> Install-Package xunit -Versione 2.4.1


Si stanno facendo tentativi di raccogliere e bersare". NETFramework, Version=v4.5.2" del progetto "itsvse-test" riguardo al pacchetto "xunit.2.4.1"
Ci vogliono 2,1 secondi per raccogliere le informazioni sulle dipendenze
Sto cercando di risolvere la dipendenza del pacchetto "xunit.2.4.1" con DependencyBehavior come "Lowest"
L'analisi delle informazioni sulle dipendenze richiede 0 ms
Operazione di analisi per installare il pacchetto "xunit.2.4.1"
Risolto l'operazione per installare il pacchetto "xunit.2.4.1"
Recupera il pacchetto "xunit 2.4.1" da "cnblogs"
Recupera il pacchetto "xunit.abstractions 2.0.3" da "cnblogs"
Recupera il pacchetto "xunit.analyzers 0.10.0" da "cnblogs"
Recupera il pacchetto "xunit.assert 2.4.1" da "cnblogs"
Recupera il pacchetto "xunit.core 2.4.1" da "cnblogs"
Recupera il pacchetto "xunit.extensibility.core 2.4.1" da "cnblogs"
Recupera il pacchetto "xunit.extensibility.execution 2.4.1" da "cnblogs"
  OTTIENIhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  OTTIENIhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  OTTIENIhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  OTTIENIhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  OTTIENIhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  OTTIENIhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  OTTIENIhttps://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
Installazione di xunit.abstractions 2.0.3.
Installazione di xunit 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Installazione di xunit.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Installazione di xunit.assert 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Installazione di xunit.extensibility.core 2.4.1.
  OKhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Installazione di xunit.analyzers 0.10.0.
  OKhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Installazione di xunit.extensibility.execution 2.4.1.
Aggiungo il pacchetto "xunit.abstractions.2.0.3" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.abstractions.2.0.3" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunto il pacchetto "xunit.abstractions.2.0.3" a "packages.config"
Installato con successo "xunit.abstractions 2.0.3" nel test-itsvse
Aggiunta del pacchetto solo del toolset "xunit.analyzers.0.10.0" a "itsvse-test"
Aggiunta del pacchetto "xunit.analyzers.0.10.0" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.analyzers.0.10.0" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunto il pacchetto "xunit.analyzers.0.10.0" a "packages.config"
File script "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" è stato installato con successo nel test ITS
Aggiungo il pacchetto "xunit.assert.2.4.1" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.assert.2.4.1" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunto il pacchetto "xunit.assert.2.4.1" a "packages.config"
"xunit.assert 2.4.1" è stato installato con successo nel test ITSVSE
Aggiunta del pacchetto "xunit.extensibility.core.2.4.1" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.extensibility.core.2.4.1" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunto il pacchetto "xunit.extensibility.core.2.4.1" a "packages.config"
"xunit.extensibility.core 2.4.1" è stato installato con successo per il test ITS
Aggiunta del pacchetto "xunit.extensibility.execution.2.4.1" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.extensibility.execution.2.4.1" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunto il pacchetto "xunit.extensibility.execution.2.4.1" a "packages.config"
"xunit.extensibility.execution 2.4.1" è stato installato con successo nel test ITSVSE
Aggiunta del pacchetto "xunit.core.2.4.1" alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.core.2.4.1" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Aggiunta del pacchetto "xunit.core.2.4.1" a "packages.config"
"xunit.core 2.4.1" è stato installato con successo al suo test
Aggiungendo il pacchetto "xunit.2.4.1" con solo dipendenze per proiettare "itsvse-test".
Il pacchetto "xunit.2.4.1" viene aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.2.4.1" è stato aggiunto alla cartella "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Il pacchetto "xunit.2.4.1" è stato aggiunto a "packages.config"
"Xunit 2.4.1" è stato installato con successo per il test ITS
Nuget ha impiegato 5,51 secondi per essere eseguito
Tempo trascorso: 00:00:07.7781544
PM>
Installa i pacchetti plug-in: xunit.runner.console (omesso in questo articolo) e xunit.runner.visualstudio

dove xUnit è il framework,E xunit.runner.visualstudio è il pacchetto plugin VS, così da poter facilmente fare il debug in VS.L'installazione di xunit.runner.console può anche essere debuggata tramite CMDMa se solo questo fosse supportato, credo che non molte persone useranno questo framework, dopotutto, il modo in cui si digitano i comandi abbassa seriamente il livello di Visual Studio, quindi non lo spiegherò qui.

Qui installiamo solo il pacchetto plugin xunit.runner.visualstudio, clicchiamo con il tasto destro sul progetto in Esplora soluzioni e selezioniamo Gestisci pacchetti NuGet. Cerca (e installa) un pacchetto chiamato xunit.runner.visualstudio:



Assicurati che il browser dei test sia visibile (vai alla finestra del Test > > Test Explorer). Ogni volta che un progetto viene costruito, il runner scopre i test unitari presenti nel progetto. Dopo un periodo di scoperta, dovresti vedere un elenco dei test scoperti:



Modifica il file Program e modifica il seguente codice:

Clicca sul link nella finestra Esegui Tutto e dovresti vedere l'aggiornamento dei risultati nella finestra di Esplora test quando esegui il test:



Puoi cliccare sul test fallito per visualizzare il messaggio di guasto e la traccia dello stack. Puoi cliccare sulla linea di tracciamento dello stack per andare direttamente alla riga di codice fallita.

(Fine)





Precedente:Sleep Your Sister Alarm Clock v4.6.1 Versione Cinese Premium Professionale a Pagamento
Prossimo:Appunti di studio di oggi su C#
 Padrone di casa| Pubblicato su 22/01/2019 15:19:24 |
Xunit non ha bisogno di etichettare le classi di test

xUnit supporta sia proprietà [Fatto] che [Teoria]. Come si può vedere dal codice, [Fatto] è simile al codice di chiamata effettivo che scriviamo, mentre [Teoria] con InlineData può testare più insiemi di parametri direttamente in un unico metodo.

 Padrone di casa| Pubblicato su 22/01/2019 15:31:55 |
Test di anomalia

Xunit non segnala le catture delle eccezioni tramite Attributes, ma utilizza direttamente la funzione di assertion Assert.Throws per validare le eccezioni.

    classe pubblica TestClass1
    {
        [Fatto]
        test di nullità pubblica Exception()
        {
            Assert.Throws<InvalidOperationException>() => operazione());
        }

        Operazione del vuoto()
        {
            lanciare nuova InvalidOperationException();
        }
    }



Cambia il nome del caso di prova:

     [Fatto(DisplayName = "Test della Funzione Massima")]



Saltare i casi di test:

     [fatto(skip="rifattorizzazione incompleta")]



Raggruppamento:

     [Tratto("Gruppo", "Categoria")]
 Padrone di casa| Pubblicato su 22/01/2019 15:37:28 |
In molti casi, non vogliamo che i test unitari influenzino il contenuto del database, e a volte i nostri test unitari saranno molto lenti a causa dell'impatto del database, quindi spesso vogliamo isolare la parte di persistenza e non persistiamo davvero i dati durante i test unitari. Questo tipo di isolamento generalmente usiamo l'astrazione, cioè interfacce o classi astratte per isolare il livello di persistenza, e poi usiamo mock per simulare le corrispondenti interfacce o classi astratte per completare le classi di persistenza corrispondenti. MoQ è uno di questi framework Mock, MoQ usa C# 3.0, che è più semplice da usare rispetto a NMock, ed è un modo fortemente tipizzato, e il codice sorgente e la dll possono essere raggiuntiIl login del link ipertestuale è visibile.Scarica. L'ultima versione di MoQ è ora la versione 3.1, e la 4.0 è ancora in beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com