2009-06-19 7 views
7

Właśnie przeczytałem wspaniałą książkę Michaela C. Feathersa Working Effectively with Legacy Code, biblii wprowadzenia testów do starszego kodu. W tej książce opisuje coś, co nazywa Edit wyzwalane testowanie:Czy wyzwalane edycją testowanie kolejnego kroku?

Jeśli nie jest się w momencie książka ta jest uwalniana, podejrzewam, że ktoś wkrótce rozwijać IDE, który pozwala na podanie zestaw testów, które będą uruchamiane przy każdym naciśnięciu klawisza. Byłby to niesamowity sposób na zamknięcie pętli sprzężenia zwrotnego.

To musi się stać. To po prostu wydaje się nieuniknione. Istnieją już IDE, które sprawdzają składnię każdego klawisza i zmieniają kolor kodu, gdy są eros. Testowanie wyzwalane edycją to kolejny krok.

Kiedy przeczytałem to, nie słyszałem o żadnych IDE lub narzędziach, które to wspierają. Jednak właśnie znalazłem projekt o nazwie Infinitest, który obsługuje to dla Javy.

Moje pytania są następujące:

  1. Czy istnieją inne narzędzia/ram, które obsługują ten (mam nadzieję, że również dla Visual Studio)?
  2. Jakie są twoje doświadczenia z tego rodzaju testowaniem (wydajne, spowalnia IDE, itp.)?
  3. Czy to kolejny krok TDD?

Aktualizacje:

  • spojrzeć na to okiem screencast zobaczyć Infinitest w działaniu dla Eclipse.
  • Właśnie znalazłem bloga, na którym Brett Schuchert dzieli się z pewną liczbą experiences with Infinitest.
+0

ciekawy pomysł! Myślę, że minie trochę czasu, zanim stanie się to niezawodne i wydajne. –

Odpowiedz

0

Cóż, zasadniczo jest to rozwój oparty na testach, z ciągłymi testami podczas pisania? Nie powiedziałbym więc, że "testowanie uruchamiane edycją" to nowa technika programistyczna, a jedynie funkcja IDE.

Jeśli chodzi o szybkość tej funkcji, to tak naprawdę zależy to od złożoności projektu, używanego kompilatora i języka oraz od wprowadzanych zmian. Jeśli modyfikujesz bibliotekę podstawową używaną w całym projekcie, Twój kompilator będzie musiał przekompilować dużą część twojego programu, aby móc uruchomić testy w innych bibliotekach przy użyciu twojego kodu.

+0

Zgadzam się, że to nie jest nowa technika rozwoju, bardziej chodzi o skrócenie informacji zwrotnych z testów. – BengtBe

1

Istnieje Autotest dla ruby. Ciągle uruchamia testy jednostkowe podczas edycji plików, używając prostych konwencji do mapowania plików źródłowych do plików testowych. Jest też wtyczka do niego Widziałem, że koloruje kod testowy czerwony lub zielony w emacs interaktywnie. Myślę, że ten pomysł natychmiastowego wizualnego sprzężenia zwrotnego w przypadku samego edytora kodu jest świetny.

+0

+1 za znalezienie innego narzędzia, które to obsługuje! – BengtBe

1

Minęło kilka lat od pierwotnego pytania i istnieje kilka narzędzi dostępnych dla .NET (przypuszczam, że przestrzeń ta rozwinęła się również dla innych języków).

Istnieje wersja .NET Autotest (mentioned previously in this thread) o nazwie AutoTest.NET, która została rozwidlona i zaktualizowana do bardziej w pełni funkcjonalnego narzędzia o nazwie ContinuousTests.Próbowałem tego około rok temu, i wydawało się, że w tym momencie ma duży potencjał, ale niestety wygląda na to, że zdecydowali się zatrzymać rozwój. Z drugiej jednak strony jest teraz free!

Nie użyłem NCrunch, ale jest to produkt komercyjny, który wydaje się być aktywnie rozwijany.

Istnieje script-based tools że może również pasowały do ​​tego co pytasz o

Zobacz też to pytanie: How do I do continuous testing in .NET?

Powiązane problemy