2010-02-14 17 views
65

Zastanawiałem się, które ramy testowania jednostkowego byłyby dobrze znane? Wiem, że to może być kwestia opinii, ale myślałem, że i tak zapytam. Wiem, że będę musiał to kiedyś zrobić, więc równie dobrze mogę się nauczyć z niego korzystać. Wiem, że jest ich sporo, ale który z nich jest skuteczny w rozwoju C#?Jakie ramy testowania jednostkowego?

Od this pytanie Widzę, że testowanie jednostkowe jest konieczne, ale osobiście tego nie używałem. Dlatego właśnie zadaję to pytanie.

+0

To naprawdę jest złe pytanie i powinno zostać zamknięte jako S & A. Nie zawiera też żadnych dobrych odpowiedzi poza tym, że "hej używam xyz i jest naprawdę fajny" ani nie jest to cenny zasób dla każdego, kto szuka porównania obecnych frameworków. –

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal

+0

Uważam, że jest to jeden z głównych problemów z ludźmi, z którymi rozmawiam na temat tej witryny. Masz ścisłe zasady dotyczące zadawania pytań, które są bombardowane przez trolle z pytaniami, ludzie po prostu chcą być w stanie zadać uczciwe pytanie i uzyskać dobrą odpowiedź.Jeśli masz zamiar kuratorować każde pytanie, może zamiast tego kierować złą odpowiedzią i pozwolić ludziom uczyć się od tej strony społeczności holistycznie w sposób, w jaki chcą. to nie może być pierwszy raz, a ilość razy, kiedy ludzie zadają pytania tutaj, nie może być tak mała. Lepiej więc rozwiązać ten problem, a następnie zabronić ludziom zadawania pytań przez 6 miesięcy. – Rob

Odpowiedz

48

Osobiście wolę Visual studio unit ramach testów, z dwóch głównych powodów:

  • To integruje się z IDE;
  • To jeden mniej programu do wdrożenia w środowisku dev.

Powiedziawszy to, prawie każda struktura testów jednostkowych może załatwić sprawę, ważną rzeczą jest wykonanie testów!

+10

wadą tego jest: twój TFS potrzebuje również licencji VS, jeśli chcesz (robisz to!) Ciągła integracja kompilacji uruchamia testy. To może nie być problem dla większych sklepów lub partnerów, ale przynajmniej jest jeszcze jedna rzecz do wzięcia pod uwagę. – mbx

+5

NUnit obsługuje teraz bezproblemową integrację z IDE i nie wymaga żadnego wdrożenia (jeśli używa się NuGet). –

+1

@mbx - Dla agentów budujących TFS nie jest wymagana licencja VS. – Spivonious

32

Nie utknąć w wyborze ramy. Wybierz jeden i rozpocznij testowanie - nie są aż tak różne. Po napisaniu testów przez pewien czas, będziesz wiedział, czego szukać, w zależności od potrzeb.

Osobiście uważam, że xUnit, Testdriven.Net i Moq to bardzo elastyczny zestaw narzędzi testowych.

zobaczyć również ten wpis: NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1 dla Moq! Uwielbiam tę strukturę. – TrueWill

0

Istnieje kilka powodów, dla sprawdzenia, więc kilka środowiskach testowych. Ponadto istnieją poziomy testowania, takie jak proste, stubs i mocks. Na przykład możesz przetestować zachowanie zamiast stanu.

Jeśli chodzi o funkcję, zazwyczaj używam wbudowanego programu Visual Studio, dodam odwołanie do biblioteki NUnit i zmieniam adnotacje C# na NUnit. Wynika to z tego, że lubię testować poza Visual Studio, zwłaszcza gdy dotyczy to innych osób w moim zespole (i jeszcze nie kupiliśmy wersji zespołowej VS).

2

Używam NUnit dla frameworków testowych i ReSharper do integracji z VS (i wszystkim innym, co robi ReSharper).

+1

Reflektor lub reSharper? – TrueWill

+1

Yikes. ReSharper. Naprawiono, dzięki. –

1

Użyj MbUnit (z Gallio), NUnit, MsTest lub xUnit. Możesz łączyć kilka testów jednostkowych. Używam NUnit do TDD

+0

To nie działa z VS2015 – sweetfa

5

Postanowiłem trzymać się NUnit, ponieważ ReSharper zapewnia natywne wsparcie IDE (co oszczędza dużo czasu). Jest również obsługiwany przez TeamCity podczas uruchamiania i raportowania testów automatycznych.

Powiązane problemy