Jak uruchomić testy NUnit w programie Visual Studio 2017?


167

Właśnie zainstalowałem VS 2017. Mam projekt używający NUnit dla przypadków testowych. Ctrl+ R- Tnie uruchamia już testów, a Eksplorator testów nie znajduje już żadnych przypadków testowych oznaczonych atrybutem TestCase.

Czy jest już sposób na uruchomienie NUnit lub aktualizacja, którą mogłem znaleźć? Ponownie zainstalowałem NUnit z Menedżera pakietów Nuget do najnowszej wersji bez żadnych ulepszeń.


To było to. Musiałem ponownie zainstalować NUnitTestAdapter. Czy możesz to przedstawić jako rozwiązanie?

2
Masz już zainstalowany NUnit, prawda? Teraz musisz zainstalować NUnit3TestAdapter, aby uruchomić testy NUnit w VS 2017.
Ripon Al Wasim

Dlaczego jest to również oznaczone jako 2019?
UuDdLrLrSs

Odpowiedzi:


207

Dodaj pakiet NuGet adaptera testowego NUnit do projektów testowych

Lub zainstaluj rozszerzenie Visual Studio Test Adapter. Jest jeden dla

Wolę pakiet NuGet, ponieważ będzie on zsynchronizowany z wersją NUnit używaną przez Twój projekt, a tym samym automatycznie dopasuje wersję używaną na dowolnym serwerze kompilacji.


2
Perfecto !! Pracowałem na moim z VS 2017. Jeśli jest zainstalowany Test Adapter 2.0, powinien pasować -> zaktualizować pakiet Nuget NUnit 2.xx wersja. Jeśli Test Adapter 3.0 -> zaktualizuj pakiet nuget do wersji 3.xx Dziękuję @jessehouwing
Anand Gangadhara

17
Upewnij się również, że odwołujesz się do Microsoft.NET.Test.Sdk , przynajmniej jeśli używasz platformy .NET Core. Przeoczyłem, że brakuje mi tego odniesienia.
Dan Jagnow,

5
Utknąłem z tym przez jakiś czas, ponieważ żadne z rozwiązań nie działało. Następnie z tej linii wywnioskowałem, że biblioteka klas z docelowym „.NET Standard” nie działa. Projekt testowy musi być przeznaczony dla platformy .NET Core. Ponadto Microsoft.NET.Test.Sdkwymagany jest pakiet NuGet.
Arghya C

3
Warto wspomnieć, że kolejnym dobrym powodem wyboru pakietu NuGet adaptera testowego NUnit jest to, że Twoi współpracownicy nie będą musieli instalować żadnych rozszerzeń VS. Twój serwer kompilacji również nie potrzebuje żadnych dodatkowych rat.
Jim Aho,

1
Zainstalowałem oba, ale nie jest oczywiste, jak przeprowadzić te testy. spojrzałem na Widok / inne okna, ale nie mogę znaleźć eksploratora testu zakonnicy
Sonic Soul

37

Musisz zainstalować NUnitTestAdapter. Najnowsza wersja NUnit to 3.xy (3.6.1) i powinieneś zainstalować NUnit3TestAdapter razem z NUnit 3.xy

Aby zainstalować NUnit3TestAdapter w programie Visual Studio 2017, wykonaj poniższe czynności:

  1. Kliknij prawym przyciskiem myszy Projekt -> Kliknij „Zarządzaj pakietami Nuget ..” z menu kontekstowego
  2. Przejdź do zakładki Przeglądaj i wyszukaj NUnit
  3. Wybierz NUnit3TestAdapter -> Kliknij Zainstaluj po prawej stronie -> Kliknij OK w wyskakującym okienku Podgląd wprowadź opis obrazu tutaj

Możesz również otworzyć „Menedżera pakietów NuGet” z menu Projekt programu VS.
Ripon Al Wasim

26

Ten mi pomógł: https://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/07/27/getting-started-with-net-unit-testing-using-nunit.aspx

Gruntownie:

  • Dodaj bibliotekę NUnit 3 w Nuget.
  • Utwórz klasę, którą chcesz przetestować.
  • Utwórz oddzielną klasę testową, powinna mieć nad nią [TestFixture].
  • Utwórz funkcję w klasie testującej, powinna mieć nad nią [Test].
  • Następnie przejdź do TEST / WINDOW / TEST EXPLORER (u góry).
  • Kliknij biegnij w lewo, powie ci, co minęło, a co się nie udało.

Mój przykładowy kod jest tutaj:

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));
        }
    }
}

Zwróci to wartość true, jeśli zmienisz parametr w Is.EqualTo, to się nie powiedzie itp.


nic nie jest znalezione, kiedy robię test / windows / test explorer
ctrl-alt-delor

Ctrl-alt-delor, to jest Test / TestExplorer w Visual Studio 2019, mogła to być subtelna zmiana, którą Microsoft wprowadził ostatnio.
Lee,

11

Musisz zainstalować 3 pakiety NuGet:

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

Miłego pisania testów jednostkowych!


8
  • Musisz wybrać architekturę procesora testów jednostkowych w VS:
    Test > Test Settings > Default processor architecture

  • Adapter testowy musi być otwarty, aby zobaczyć testy: (VisualStudio, np .:
    Test->Windows->Test Explorer


Dodatkowe informacje o tym, co się dzieje, możesz wziąć pod uwagę w `` VS-Output-Window '' i wybrać rozwijane `` Show output from '' i ustawić `` Tests ''


To bardzo ważna odpowiedź, wielkie dzięki, ustaw poprawny poprawiony problem z "Domyślną architekturą procesora".
Nikita Danilov

1

Korzystanie z CLI, aby stworzyć działający projekt NUnit jest naprawdę łatwe. Szablon zrobi wszystko za Ciebie.

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

W przypadku platformy .NET Core jest to zdecydowanie moja preferowana metoda.


0

Aby uruchomić lub debugować test w programie Visual Studio 2017, musimy zainstalować „NUnit3TestAdapter”. Możemy go zainstalować w dowolnym VS, ale działa on poprawnie w wersji "community" VS. Aby to zainstalować, możesz dodać za pośrednictwem pakietu Nuget.


0

Dla każdego, kto ma problemy z programem Visual Studio 2019:

Musiałem najpierw otworzyć Test> Windows> Eksplorator testów i uruchomić testy stamtąd, zanim opcja Uruchom / debuguj testy pojawiła się w menu po kliknięciu prawym przyciskiem myszy.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.