Powiedz, że mam taką metodę:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
Mam kilka takich metod w moim kodzie (przednia połowa asynchronicznego wywołania usługi sieci Web).
Zastanawiam się, czy warto ich objąć testami jednostkowymi. Tak, tutaj jest logika, ale to tylko logika wartownicza. (Czyli upewniam się, że mam potrzebne rzeczy, zanim pozwolę na wywołanie usługi internetowej).
Część mnie mówi „pewnie, że możesz je przetestować w jednostce, ale nie jest to warte czasu” (jestem przy projekcie, który jest już opóźniony).
Ale druga strona mnie mówi, że jeśli ich nie przetestujesz, a ktoś zmieni Strażników, mogą wystąpić problemy.
Ale pierwsza część mnie mówi: jeśli ktoś zmieni strażników, to po prostu wykonujesz dla nich więcej pracy (ponieważ teraz oni muszą zmienić strażników i testy jednostkowe dla strażników).
Na przykład, jeśli moja usługa przyjmuje na siebie odpowiedzialność za sprawdzenie dostępności Widżetu, być może nie chcę już tego strażnika. Jeśli jest to test jednostkowy, muszę teraz zmienić dwa miejsca.
Widzę zalety i wady na dwa sposoby. Pomyślałem więc, że zapytam, co zrobili inni.
but it is not worth the time" (I am on a project that is already behind schedule).Jesteśmy programistami. Jedynym harmonogramem jest to, kiedy nie żyjemy :)