Nigdy nie lubiłem testów jednostkowych. Zawsze myślałem, że to zwiększa ilość pracy, którą muszę wykonać.
Okazuje się, że jest to prawdą tylko w odniesieniu do rzeczywistej liczby wierszy kodu, który piszesz, a ponadto jest to całkowicie równoważone wzrostem liczby wierszy przydatnego kodu, który można napisać w ciągu godziny dzięki testom i rozwojowi opartemu na testach.
Teraz uwielbiam testy jednostkowe, ponieważ pozwalają mi pisać użyteczny kod, który dość często działa za pierwszym razem! (odpukać)
Przekonałem się, że ludzie niechętnie przeprowadzają testy jednostkowe lub rozpoczynają projekt z rozwojem opartym na testach, jeśli znajdują się w ściśle określonych ramach czasowych lub w środowisku, w którym inni tego nie robią, więc nie robią tego. Trochę kulturowa odmowa nawet spróbowania.
Myślę, że jedną z najpotężniejszych rzeczy w testowaniu jednostkowym jest pewność, że daje ci to możliwość refaktoryzacji. Daje także nowo znalezioną nadzieję, że mogę przekazać mój kod komuś innemu do refaktoryzacji / ulepszenia, a jeśli moje testy jednostkowe nadal działają, mogę bez obaw korzystać z nowej wersji biblioteki, którą zmodyfikowali.
To ostatni aspekt testów jednostkowych, który moim zdaniem wymaga nowej nazwy. Test jednostkowy jest bardziej umową na to, co ten kod powinien zrobić teraz iw przyszłości.
Kiedy słyszę testowanie słów, myślę o myszach w klatkach, na których przeprowadzono wiele eksperymentów, aby zobaczyć skuteczność związku. To nie jest testowanie jednostkowe, nie wypróbowujemy innego kodu, aby zobaczyć, które podejście jest najbardziej afektywne, określamy, jakich wyników oczekujemy przy pomocy jakich danych wejściowych. W przykładzie myszy testy jednostkowe przypominają bardziej definicje działania wszechświata w przeciwieństwie do eksperymentów przeprowadzanych na myszach.
Czy jestem na crack lub czy ktokolwiek widzi tę odmowę przeprowadzenia testów i czy uważają, że jest to podobny powód, dla którego nie chcą tego robić?
Jakie są powody, dla których ty / inni nie testujesz?
Jak myślisz, jakie są ich motywacje w testach jednostkowych?
A jako nowa nazwa testów jednostkowych, która może rozwiązać niektóre zastrzeżenia, co powiesz o jContract? (Wiem trochę o Java) :) czy kontraktach jednostkowych?