Come eseguire i test NUnit in Visual Studio 2017?


167

Ho appena installato VS 2017. Ho un progetto che utilizza NUnit per i casi di test. Ctrl+ R- Tnon esegue più i test e Test Explorer non trova più casi di test contrassegnati con l'attributo TestCase.

C'è un modo per far funzionare ancora NUnit o un aggiornamento che ho trovato? Ho reinstallato NUnit da Nuget Package Manager all'ultima versione senza alcun miglioramento.


Questo è stato. Ho dovuto reinstallare NUnitTestAdapter. Puoi inviarlo come soluzione?

2
Hai già installato NUnit, giusto? Ora devi installare NUnit3TestAdapter per eseguire i test NUnit in VS 2017.
Ripon Al Wasim

Perché anche questo è taggato nel 2019?
UuDdLrLrSs

Risposte:


207

Aggiungi il pacchetto NuGet dell'adattatore di test NUnit ai tuoi progetti di test

Oppure installa l'estensione Visual Studio Test Adapter. Ce n'è uno per

Preferisco il pacchetto NuGet perché sarà sincronizzato con la versione NUnit utilizzata dal progetto e corrisponderà quindi automaticamente alla versione utilizzata in qualsiasi server di build.


2
Perfecto !! Ha funzionato sul mio con VS 2017. Se installato Test Adapter 2.0 dovrebbe corrispondere a -> aggiorna pacchetto Nuget versione NUnit 2.xx. Se Test Adapter 3.0 -> aggiorna il pacchetto nuget a 3.xx Grazie @jessehouwing
Anand Gangadhara,

17
Assicurati anche di aver fatto riferimento a Microsoft.NET.Test.Sdk , almeno se stai prendendo di mira .NET Core. Ho trascurato che mi mancava quel riferimento.
Dan Jagnow,

5
Sono rimasto bloccato per un po 'di tempo, poiché nessuna delle soluzioni ha funzionato. Quindi ho capito da questa riga che una libreria di classi con destinazione ".NET Standard" non funziona. Il progetto di test deve essere indirizzato a .NET Core. Inoltre, Microsoft.NET.Test.Sdkè necessario NuGet.
Arghya C

3
Vale la pena ricordare che un altro buon motivo per scegliere il pacchetto NuGet dell'adattatore di test NUnit è che i colleghi non dovranno installare estensioni VS. Inoltre, il tuo server di build non ha bisogno di ulteriori rate.
Jim Aho,

1
ho installato entrambi ma non è ovvio come eseguire questi test. guardato Visualizza / altre finestre ma non riesco a trovare nunit test explorer
Sonic Soul

37

Devi installare NUnitTestAdapter. L'ultima versione di NUnit è 3.xy (3.6.1) e dovresti installare NUnit3TestAdapter insieme a NUnit 3.xy

Per installare NUnit3TestAdapter in Visual Studio 2017, attenersi alla seguente procedura:

  1. Fare clic destro su Progetto -> Fare clic su "Gestisci pacchetti Nuget .." dal menu di scelta rapida
  2. Vai alla scheda Sfoglia e cerca NUnit
  3. Seleziona NUnit3TestAdapter -> Fai clic su Installa a destra -> Fai clic su OK dal menu a comparsa Anteprima inserisci qui la descrizione dell'immagine

Puoi anche aprire "NuGet Package Manager" dal menu Progetto di VS.
Ripon Al Wasim

26

Questo mi ha aiutato: https://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

Fondamentalmente:

  • Aggiungi la libreria NUnit 3 in Nuget.
  • Crea la classe che desideri testare.
  • Crea una classe di test separata, questo dovrebbe avere [TestFixture] sopra di essa.
  • Creare una funzione nella classe Test, questa dovrebbe avere [Test] sopra di essa.
  • Quindi vai su TEST / WINDOW / TEST EXPLORER (nella parte superiore).
  • Fai clic su Esegui sul lato sinistro, ti dirà cosa è passato e cosa è fallito.

Il mio codice di esempio è qui:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;

namespace NUnitTesting
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public class Maths
    {
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;   
        }
    }

    [TestFixture]
    public class TestLogging
    {
     [Test]
     public void Add()
        {
            Maths add = new Maths();
            int expectedResult = add.Add(1, 2);
            Assert.That(expectedResult, Is.EqualTo(3));
        }
    }
}

Questo restituirà vero, se si modifica il parametro in Is.EqualTo fallirà, ecc.


non si trova nulla quando
eseguo

Ctrl-alt-delor questo è Test / TestExplorer in Visual Studio 2019, potrebbe essere stata una sottile modifica apportata da Microsoft di recente.
Lee

11

Devi installare 3 pacchetti NuGet:

  • Nunit
  • NUnit3TestAdapter
  • Microsoft.NET.Test.Sdk

Divertiti a scrivere test unitari!


8
  • Devi scegliere l'architettura del processore di Unit-Test in VS:
    Test > Test Settings > Default processor architecture

  • Test Adapter deve essere aperto per vedere i test: (VisualStudio ad es .:
    Test->Windows->Test Explorer


Ulteriori informazioni su ciò che sta succedendo si possono prendere in considerazione in "VS-Output-Window" e selezionare il menu a discesa "Mostra output da" e impostare "Test"


È una risposta molto importante, grazie mille, risolto il problema corretto "Architettura del processore predefinito".
Nikita Danilov,

1

L'uso della CLI per creare un progetto NUnit funzionante è davvero semplice. Il modello fa tutto per te.

dotnet new -i NUnit3.DotNetNew.Template
dotnet new nunit

Su .NET Core, questo è sicuramente il mio modo preferito di procedere.


0

Per eseguire o eseguire il debug del test in Visual Studio 2017, è necessario installare "NUnit3TestAdapter". Possiamo installarlo in qualsiasi VS, ma funziona correttamente nella versione "community" VS. Per installare questo è possibile aggiungere tramite il pacchetto Nuget.


0

Per chiunque abbia problemi con Visual Studio 2019:

Ho dovuto prima aprire Test> Windows> Test Explorer ed eseguire i test da lì, prima che l'opzione Esegui / Debug fosse visualizzata nel menu di scelta rapida.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.