Visual Studio 2013 MSTest vs NUnit

Moja Firma modernizuje nasze Visual Studio 2012 do 2013 Premium. W tym samym czasie chcemy również rozpocząć automatyzację naszych testów za pomocą usługi Visual Studio Team Services

Czytałem kilka postów i artykułów MSTest vs nUnit w przeszłości, ale większość z nich porównuje starszą wersję MSTest. Ponadto nUnit miał wiele pozytywnych recenzji w porównaniu do MSTest.

Moje pytanie brzmi, biorąc pod uwagę zaangażowanie Microsoftu w ALM, praktyki Agile i wszystkie nowe rzeczy, które dodali do usług VS2013 Premium i Visual Studio Team, aby ułatwić i zachęcić do zautomatyzowanych testów, jak wygląda MSTest w porównaniu z nUnit?

Jakie inne uwagi powinienem podjąć przed podjęciem decyzji o użyciu frameworka testowego?

Author: Null Reference, 2014-03-26

2 answers

MSTest niewiele się zmieniło od czasu jego wprowadzenia, więc te stare posty porównawcze są nadal ważne. Firma Microsoft koncentruje się na ALM głównie na dalszych narzędziach i produktach serwerowych, ale fundamentalna struktura testowania nie zmieniła się zbytnio.

Warto również zauważyć, że MSTest i cała ich strategia ALM są ukierunkowane na wiele różnych stylów zautomatyzowanych testów, w tym testy integracji, testy systemu, testy wydajności itp., więc podczas gdy próba bycia uniwersalnym, jest dość źle przystosowana do testów jednostkowych, ponieważ jest zbyt ciężka, aby z nią pracować.

Chociaż NUnit jest lepszy, też nie polecam. To też nie zmieniło się zbyt wiele od lat, a model rozszerzalności jest szczerze mówiąc bałagan.

Zamiast tego polecam xUnit.net. chociaż nie jest to również idealne, jest to obecnie najlepsza alternatywa mainstreamowa na .NET. istnieje wiele powodów, dla których xUnit.net jest lepszy niż MSTest .

 54
Author: Mark Seemann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-23 01:01:25

MSTest Vs NUnit:

  1. MSTest jest zintegrowany z VS, więc będzie łatwy w użyciu. NUnit będzie wymagać narzędzi innych firm (niektóre są bezpłatne, niektóre są płatne).
  2. VS daje pokrycie kodu w MSTest. NUnit wymaga DotCover (który jest płatnym narzędziem).
  3. MSTest ma możliwość równoległego wykonywania testów, jeśli nie są one od siebie zależne. To nie jest funkcja, którą zapewnia NUnit.
  4. NUNit mA TestCaseSourceAttribute, który pomaga osiągnąć parametryzowane przypadki testowe, ale w MSTest będziesz potrzebował DataSourceAttribute, który będzie w pliku xml i będzie trudny do zarządzania, gdy masz złożoną logikę w metodzie.
  5. NUnit jest szybszy niż MSTest.

Ogólnie oba frameworki są dobre w użyciu, ale sugerowałbym skorzystanie z NUnit.

 34
Author: arpitbakshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-11 15:09:44