. Net Unit Testing packages?

Powrót do nieco bardziej. NET po kilku latach nieużywania go na pełny etat i zastanawianie się, jakie są obecnie dobre Pakiety testów jednostkowych.

Jestem zaznajomiony z NUnit (kilka lat temu), i grał krótko wokół IronRuby, z celem, aby uzyskać coś takiego jak RSpec idzie, ale nie wiem wiele poza tym.

Zdaję sobie sprawę, że mogę wygooglować to i nazwać to dniem, ale wierzę, że prawdopodobnie uzyskam lepszą i bardziej świadomą odpowiedź z zadawania pytania tutaj :-)

Sugestie?

Author: Hossein Narimani Rad, 2008-08-05

12 answers

Jest ich tak wiele, że to szaleństwo. Chyba nieźle.

  • dla konserwatywnych typów (ja), NUnit jest nadal dostępny i nadal bardziej niż zdolny.
  • dla typów Microsoft, MSTest jest odpowiedni, ale powolny i niezgrabny w porównaniu do Nunit. Brakuje również pokrycia kodu, nie płacąc dużych pieniędzy za drogie wersje Visual Studio.
  • jest też MbUnit. Jest jak NUnit, ale ma fajne funkcje jak RowTest (uruchom ten sam test z różnymi parametrami) i Rollback (Przywróć bazę danych tak, jak ją znalazłeś po teście)
  • i wreszcie, xUnit.net jest modna opcja z pewnym nastawieniem.
  • Oh, I TestDriven.NET zapewni Ci integrację IDE zarówno dla Nunit, jak i MBunit.

Jestem pewien, że wszystkie są w porządku. Ja bym jednak odciągnął od MSTest, chyba że po prostu cieszysz się wygodą posiadania wszystkiego w jednym IDE z box.

Scott Hanselman ma podcast na ten właśnie temat.

 51
Author: Brad Tutterow,
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
2008-09-03 17:30:36

Używamy tu NUnit i MBUnit . Używamy TestDriven.NET aby uruchomić testy jednostkowe z poziomu Visual Studio. Używamy doskonałych, wysoce zalecanych RhinoMocks jako mock framework.

 8
Author: Judah Himango,
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
2008-08-06 16:07:06

Trzymaj się NUnit. Nie zbliżaj się do MSTest.

NUnit + ReSharper to absolutna radość z pracy.

 8
Author: Iain Holder,
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
2008-08-14 15:09:17

Kiedyś używałem NUnit, ale teraz używam MbUnit, dla dwóch kluczowych funkcji: 1. Funkcja RowTest pozwala łatwo uruchomić ten sam test na różnych zestawach parametrów, co jest ważne, jeśli naprawdę chcesz uzyskać dokładny zasięg. 2. Funkcja Rollback pozwala na uruchamianie testów z bazą danych podczas cofania zmian po każdym teście, utrzymując bazę danych w dokładnie tym samym stanie za każdym razem. I to jest tak proste, jak dodanie atrybutu [Rollback].

Kolejny fajny aspekt MbUnit czy jego składnia jest prawie identyczna z NUnit, więc jeśli masz już całe łóżko testowe pod NUnit, możesz po prostu zamienić odnośniki bez konieczności ich zmiany(bardzo?) kod.

 6
Author: Doug R,
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
2008-08-28 03:52:44

XUnit.net wygląda na to, że zapewnia nieco inne podejście do N/MB/MS / Unit, co jest interesujące.

W poszukiwaniu rozwiązania podobnego do rspec (ponieważ kocham rspec), natknąłem się również na NSpec, który wygląda trochę wordy, ale w połączeniu z Nspec Extensions dodatek do używania metod rozszerzeń C#3, wygląda całkiem nieźle.

 6
Author: Orion Edwards,
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
2013-01-09 05:42:24

Używam:

TestDriven.NET - dodatek do testów jednostkowych dla Visual Studio

Typemock Isolator - Mocking framework for. Net Unit Testing

NUnit - open source unit testing framework, który jest w C#.

 5
Author: ,
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
2008-10-15 14:33:01

To stare pytanie, ale może być interesujące, że Gallio v3. 1 obsługuje teraz RSpec przez IronRuby.

 4
Author: Jeff Brown,
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
2009-07-19 20:34:25

Lubię TestDriven.NET (mimo, że używam ReSharper) i jestem całkiem zadowolony z XUnit.net . używa faktów zamiast testów, których wiele osób nie lubi, ale podoba mi się różnica w terminologii. Warto pomyśleć o kolekcji automatycznie udowodnionych faktów na temat oprogramowania i zobaczyć, które z nich naruszasz, gdy wprowadzasz zmiany.

Należy pamiętać, że Visual Studio 2008 Professional (i wyżej) jest teraz wyposażony w zintegrowane testy jednostkowe (kiedyś dostępne tylko z edycjami systemu Team) i mogą być odpowiednie dla Twoich potrzeb.

 3
Author: Mike Minutillo,
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
2008-08-05 02:07:50

Zrobiłem mały przykład testowania. NET lib przy użyciu ironRuby: http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

 3
Author: khebbie,
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
2008-09-11 10:54:50

Lubię MbUnit , er, Gallio . Najważniejsze dla mnie jest wsparcie dobrych narzędzi w Visual Studio. Do tego używam Resharper, który ma mbunit Test runner. Wielu ludzi lubi TestDriven.NET jako ich biegacz testowy, jak również.

 2
Author: Brett Veenstra,
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
2008-08-05 00:57:48

Kiedyś używałem NUnit, ale przełączyłem się na MbUnit, ponieważ ma więcej funkcji. Kocham RowTest. Umożliwia parametryzację testów. NUnit ma jednak nieco lepszą obsługę narzędzi. Używam ReSharper do uruchamiania testów MbUnit. Miałem problemy z TestDriven.NET uruchamiam moje metody konfiguracji dla MbUnit.

 2
Author: Lance Fisher,
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
2008-08-06 21:03:00

To jest naprawdę osobista opinia z mojej strony(chyba zbędna, skoro jest to forum). NUnit, MSTest, ect wszyscy robią to samo. Jednak uważam NMock za niezbędny.

NMock lub jakikolwiek inny pakiet szyderczy nie jest testowaniem jednostkowym, ale znacznie ułatwia wykonywanie testów jednostkowych, które również mogą być testowane.

 2
Author: Dan Blair,
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
2008-08-14 15:04:08