Używam programu Visual Studio (czasami resharper) do uruchomienia mojego testu jednostkowego.
Słyszałem o NUnit, ale nie wiem o nim zbyt wiele ...
Powinienem się tym przejmować? Czy może zaoferować coś lepszego niż studio wizualne?
Czy powinienem używać NUnit i dlaczego?
Odpowiedzi:
NUnit ma kilka zalet w porównaniu z testem MS
Assert.AreEqual(expected, actual)
vs.Assert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnit pozwala na sparametryzowane testy.źródło
Z mojej obecnej perspektywy (po 8 miesiącach pracy z około 10 deweloperów średnio) Radziłbym przed użyciem MSTest z następujących powodów
Innymi słowy, gdybym musiał podjąć decyzję ponownie 8 miesięcy temu, prawdopodobnie wziąłbym NUnit. Mogę nie mieć zintegrowanego raportu z wynikami testów, ale programiści mieliby bardziej płynne testy.
źródło
Oto moje doświadczenie z testem MS
Dodatek: Mamy teraz więcej testów, nie możemy nawet powiedzieć, ile. Nie można ich już uruchamiać w programie Visual Studio z powodu wyjątków OutOfMemoryExceptions i innych problemów z niestabilnością. Testy wykonujemy ze skryptów. Łatwo byłoby wyświetlić wyniki testów w programie Visual Studio, ale gdy rozwiązanie jest otwarte, VS ulega awarii (za każdym razem). Musimy więc przeszukać testy zakończone niepowodzeniem za pomocą wyszukiwania tekstowego. Nie ma już zalet zintegrowanego narzędzia.
Kolejna aktualizacja : używamy teraz VS 2013. Wiele się zmieniło. Po raz trzeci, odkąd zaczęliśmy, przepisali test runner MS Test. Spowodowało to wiele istotnych zmian, ale żadna nowa wersja nie robiła nic lepszego. Cieszymy się, że nie korzystaliśmy z wymyślnych funkcji MS Test, ponieważ nie wszystkie są już obsługiwane. To naprawdę wstyd. Nadal używamy skryptów do budowania i uruchamiania wszystkich testów jednostkowych, ponieważ jest to wygodniejsze. Program Visual Studio wymagał kilku minut, aby rozpocząć uruchamianie testów (czas jest mierzony po kompilacji do rozpoczęcia pierwszego testu). Prawdopodobnie naprawiają to aktualizacją i może to być specyficzny problem naszego projektu. Jednak Resharper jest znacznie szybszy podczas wykonywania tych samych testów.
Wniosek : Przynajmniej w połączeniu z Resharper, test MS jest przydatny. Mam nadzieję, że w końcu dowiedzą się, jak należy napisać program uruchamiający testy, i nie zrobią tego rodzaju przełomowych zmian, gdy następnym razem zaktualizujemy Visual Studio.
źródło
NUnit może być używany w połączeniu z Visual Studio. To ramy, a nie oddzielny program. Więc możesz się przejmować i zobaczyć, czy ci pasuje :).
tekst alternatywny http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nunitit&DownloadId=61802
„Po zainstalowaniu wtyczki w menu narzędzi znajdziesz nowe podmenu”.
Więcej informacji na temat importowania można znaleźć pod adresem http://nunitit.codeplex.com/ .
Wiele można również znaleźć, używając wyszukiwania SO. W tym temacie wymieniono na przykład zalety NUnit w porównaniu ze standardowymi testami MS.
źródło
Największą przewagą MS-Test nad NUnit jest to, że MS-Test może generować pozorowane obiekty przy użyciu odbicia. Wydało mi się to bardzo przydatne
źródło
NUnit współpracuje ze standardową wersją VS.
źródło
Nie jestem pewien innych, ale NUnit zapewnia przyjemne GUI i konsolę do uruchamiania testów jednostkowych, a także możesz wygenerować raport z wyniku wykonania testu NUnit, który poda szczegóły, gdzie test się nie powiódł lub przeszedł, a także o której godzinie wziąć do testu jednostkowego
źródło
NUnit to framework do testów jednostkowych, który jest również obsługiwany przez resharper. Myślę, że używasz frameworka testów jednostkowych Microsoftu, więc NUnit jest tylko alternatywą dla produktu Microsoftu;)
Oto link do strony głównej NUnit: http://nunit.org
źródło
W NUnit testy nie są wykonywane równolegle. Wydaje się raczej, że wszystkie testy są wykonywane w jednym wątku. W MSTest każdy test jest tworzony w osobnym wątku, co powoduje, że przebiegi są przeplatane. Dlatego jeśli test A zależy od sukcesu testu B, prawdopodobnie zakończy się niepowodzeniem, ponieważ test B prawdopodobnie zacznie działać, gdy test A jest uruchomiony.
źródło
Jeśli używasz programu Visual Studio, musisz użyć NUnit do wykonywania testów jednostkowych, a jeśli używasz java (Netbeans), musisz użyć JUnit do testów jednostkowych.
Oto przykład prostego testu jednostkowego kalkulatora
źródło