Wydaje mi się, że wszyscy używają NUnit, nawet nie rozważając innych opcji. Myślę, że dzieje się tak, ponieważ:
- Wszyscy już go znają, więc nie będą musieli się uczyć nowego API.
- Jest już skonfigurowany z serwerem ciągłej integracji do pracy z NUnit.
Czy się mylę?
Ostatnio zdecydowałem się użyć xUnit do jednego z moich projektów i uwielbiam to! Ma to dla mnie o wiele więcej sensu i koncepcyjnie wydaje się wyraźnym krokiem naprzód od NUnit.
Chciałbym usłyszeć opinie na temat tego, który framework jest rzeczywiście najlepszy - nie biorąc pod uwagę konieczności uczenia się go lub zmiany konfiguracji automatycznego testowania.
Odpowiedzi:
MSTest
Osobiście używam MSTest. NUnit jest naprawdę fajny, ale w VS2010 MSTest jest już w pełni zintegrowany z IDE i istnieją dla niego pełne szablony projektów. W przypadku platformy .NET, jeśli korzystasz z 2010 r., Myślę, że MSTest jest właściwą drogą (MSTest w VS2008 nie wydaje mi się, że jest na równi) po prostu w zakresie pokrycia kodu, programu uruchamiającego testy i innych dostępnych narzędzi po wyjęciu z pudełka. (Jeśli używasz CodeRush lub R #, wtedy mają naprawdę świetne narzędzia testujące / narzędzia do innych środowisk testowych)
Edycja: Od tego czasu przeszedłem do XUnit. :RE
źródło
Zacząłem używać Gallio / MbUnit kilka lat temu. A funkcje i klejnoty, które zapewnia, są tak potężne, że nigdy nie żałowałem mojego wyboru. W rzeczywistości jestem teraz częścią zespołu programistów projektu Gallio OSS; dzięki czemu mogę przyczynić się do uczynienia go jeszcze bardziej niesamowitym.
Wiki jest na pewno dobry punkt wyjścia do odkrywania Gallio i MbUnit v3. Parapet brakuje niektórych rozdziałów, ale jest już cicho użyteczny.
źródło
Wybór jednego i użycie go jest być może najważniejszym krokiem tutaj.
Osobiście wybrałbym NUnit z kilku powodów. Przede wszystkim wsparcie narzędzi. Dostępny jest bezpłatny dodatek do programu Visual Studio 2010 i obsługują go wszystkie główne wtyczki innych firm. Obsługuje go każdy system kompilacji, narzędzie do testowania i serwer CI. W wielu przypadkach bez wtyczki. Na poziomie kodu może obsłużyć prawie każdy scenariusz w tym momencie - testy oparte na danych, dziedziczenie, abstrakcyjne klasy testowe, ogólne klasy testowe, konfiguracja, zburzenie itp. W pewnym stopniu mamy xUnit, ponieważ NUnit jest zbyt bogaty w funkcje i potężny.
Poza NUnit, myślę, że możesz zrobić całkiem niezły argument dla MBUnit + Gallio, jak wspomniał Yann - jest to bardzo solidny framework. Tym, którego należy unikać, jeśli to w ogóle możliwe, byłby MSTest, który ma kilka fatalnych wad IMHO. Wady są niektórymi ograniczeniami na klasach testowych, takimi jak brak dziedziczenia i zależność od profesjonalnych lub lepszych SKU studia wizualnego. W tym wymaganie instalacji programu Visual Studio na serwerze kompilacji w celu uruchomienia testów.
źródło
Jednym z powodów jest to, że NUNIT stał się bardziej standardem branżowym niż xUnit. Ale osobiście uwielbiam Xunit.
źródło