2009-09-01 17 views
6

Jakie są różnice między używaniem zintegrowanego narzędzia VS, takiego jak Testdriven.net lub używanie testowego interfejsu GUI, takiego jak Icarus lub NUnit GUI?Gallio Icarus vs. Testdriven.net

Co wolisz i dlaczego?

Do tej pory odkryłem, że raporty są lepsze w Ikrze niż w td.net, które zawiera tylko dane wyjściowe z wiersza poleceń. Jednak td.net jest szybszy w użyciu, mogę wykonać jeden test łatwiej bez konieczności odznaczania resztę w pierwszej kolejności. Integracja NCover jest również bardzo dobra.

Odpowiedz

8

Icarus ma jedną wielką cechę, która pozwala mi go używać. Jest to automatyczne przeładowanie i powtórzenie testów.

Trzymam Ikara unoszącego się nad monitorem po lewej stronie. Za każdym razem, gdy buduję w Visual Studio, Icarus przeładowuje złożenia i uruchamia wszystkie testy. To trochę jak natychmiastowa informacja zwrotna o analizie roztworu Resharpera, z wyjątkiem testów zamiast składni. Uruchomienie testów jest automatyczne i nie ma wpływu na wydajność Visual Studio (prawdopodobnie b/c Icarus jest to proces własny, nie hostowany wewnątrz IDE).

Aby włączyć tę konfigurację, przejdź do Icarus-> Options-> Test Explorer. Zaznacz "Zawsze ładuj pliki" i "Uruchom testy po przeładowaniu".

+0

Tak, ja też to Digg. Niestety moje pytanie td.Net zapewnia korzyści. –

+0

W obronie TD.Net, buduj przebiegi w ramach testów jednostkowych, w miejscu i bez zajmowania ekranu nieruchomości. – GregC

+0

To, co jest naprawdę fajne, to funkcja, która umożliwia ponowne uruchamianie odpowiednich testów jednostkowych podczas edytowania kodu w Visual Studio. Ale jak zdefiniować "istotne"? – GregC

3

Czy masz serwer Continuous Integration (jak serwer kompilacji, ale uruchamia testy jednostkowe)?

Jeśli tak, możesz skonfigurować usługę gallio, aby uruchamiać testy jednostkowe i mieć wszystkie informacje do raportowania, jednocześnie umożliwiając programistom użycie czegoś z szybszą reakcją podczas pracy.

Jeśli nie ma opcji, wolę coś, co jest zintegrowane z IDE, jak Testdrvien. Natychmiastowa informacja zwrotna jest bardzo pomocna podczas refaktoryzacji kodu lub opracowania czegoś nowego pod TDD. Poza tym, jeśli nie masz kontroli stanu zdrowia w jednym punkcie (jak serwer CI), będziesz chciał mieć tyle oczu, ile możesz znaleźć na tych testach jednostkowych. Deweloperzy używają tego, co jest najłatwiejsze i, ogólnie, zintegrowany zestaw testów jest łatwiejszy niż oddzielny komponent.

+0

Jestem indywidualnym programistą, więc używanie serwera ci nie jest dla mnie niezbędne. Właściwie to mam go, ale używam go do metryk i tym podobnych (i dla zabawy oczywiście). –

+0

@Johannes Rudolph Jeśli serwer CI jest przesadzony, nadal możesz mieć skrypty budujące. Prowizja jest naprawdę łatwa do skonfigurowania i uruchomienia z wiersza poleceń, gdy chcesz mieć metryki. Oto zasób, od którego zacząłem z Rake. http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ –