Jeśli to tylko prosta aplikacja, framework MSTest wbudowany w VS2008 powinien zaznaczyć wszystkie pola. To nie jest to samo, co NUnit, chociaż wiele osób (omyłkowo) odnosi się do niego tak, jakby były tym samym.
Nigdy nie używałem tego do szyderstwa, więc może ktoś inny może to rozwinąć. Generuje osobny projekt w swoim rozwiązaniu, który służy wyłącznie do testowania. This is a good explanation of how to use it.
Edit: Robi się trochę więcej kopanie, natknąłem this comparison z MSTest i NUnit.
Wady NUnit ramowa:
- Montaż NUnit jest w osobnym MSI.
- Bez integracji z Visual Studio.
- Wymaga ręcznego pisania przypadków testowych.
- Bez automatycznego generowania kodu.
- Wymaga otwarcia oddzielnego okna (konsola NUnit lub GUI) do wykonywania przypadków testowych.
- Zamawianie realizacji przypadków testowych jest niedostępne.
- Brak wbudowanej funkcji do debugowania przypadków testowych.
- Brak wbudowanej funkcji do włączania/wyłączania przypadków testowych.
- Nie Wbudowana funkcja dać dodatkowe informacje przypadków testowych, takich jak ślad stosu, Trace Information itp
nr
- wbudowanej funkcji sortowania przypadków testowych na podstawie nazwy komputera klasy nazwę i typ hosta itp
To z artykułu porównawczego, z którym łączyłem.
Nigdy nie korzystałem z NUnit, tylko MSTest dla C# i JUnit dla Javy, więc jestem nieco stronniczy w tym względzie. MSTest zawsze działał dla mnie naprawdę dobrze dla WinForms, z funkcjami, takimi jak możliwość samodzielnego uruchamiania testów, pokazywania naprawdę szczegółowych raportów (z indywidualnymi dziennikami śledzenia) i autogenerowania całego kodu testowego i wykonywania wszystkich tych rzeczy, które powodują VS2008 taki genialny IDE. Z tego powodu NUnit działa dobrze dla innych i mają swoje powody, dla których to lubią.
Jeśli nie masz szczególnego powodu, aby zastosować podejście NUnit/Testdriven.NET, tak jak potrzebujesz określonej funkcji, lub po prostu wolisz taki sposób konfigurowania testów i próby zintegrowania go z powrotem w VS, wtedy nie robię tego. Nie widzisz żadnego powodu, aby po prostu użyć MSTest, który działa od razu po wyjęciu z pudełka.
Wydaje się niesprawiedliwe, gdy wiele osób korzysta z TestDriven.NET do napędu NUnit. To zapewnia doskonałą integrację i usuwa większość wad, o których wspomniałeś. Atrybut NUnit [Ignore] wyłącza metody [Test] lub klasy [TestFixture]. Również, IMHO zamawianie przypadków testowych jest nieco śmierdzące :) – si618
ouch. 600 znaków nie wystarczy. 1. To dobrze. Mogę uruchomić testy na dowolnej maszynie (build/QA) bez konieczności instalowania VSTS. 2. Jeśli chcesz kliknąć prawym przyciskiem i uruchomić testy, pobierz dodatki Resharper/TestDriven.Net. Zobacz także SO q # 196740. # 3,4,6,10 - nie ma sensu. Wierzę, że programiści znają ich kod lepiej niż VS. Wynika z tego, że mogą lepiej określić, jakie testy pisać. Ale potem jestem zainfekowany testem (czytaj zelot TDD). Przypadki testowe nie powinny być zależne od zamówienia - nie jest więc jasne, dlaczego jest to niekorzystne. – Gishu
Contd ... Debugowanie przypadków testowych może być wykonane (dodaj nunit jako zewnętrzny exe do debugowania dla twojego testowego dll); chociaż to oznacza, że nie znasz już swojego kodu. Sortowanie przypadków testowych - znowu nie wiesz, dlaczego tego potrzebujesz. Ale możesz pogrupować swoje testy w kategorie, takie jak [Kategoria ("Powolne testy")], a następnie włączyć lub wykluczyć je z testów. Masz również widok pola wyboru, w którym możesz ręcznie zaznaczyć testy, które chcesz uruchomić. Wreszcie 9. stacktrace - nunit robi to w pierwszej zakładce. Struktura testów jednostkowych byłaby trochę ułomna, gdyby nie wskazywała na dokładną lokalizację, w której test się nie powiódł! – Gishu