Wpis z mikrobloga

Pracuje ostatnio z takimi półgłowkami w #java
Trochę po nich sprzątałem i robiłem refaktor. Wydzielilem z repozytorium interfejs, żeby go używali i dało się to testować.
I taki jeden miał zrobić implementacje InMemory na potrzeby testów.
I co zrobił? Zamiast zaimplementować nowy interfejs, to podklasowal istniejąca implementacje i nazwał ją InMemory. Napisał wszystkie metody. Do konstruktora powkladal nulle w testach i Elo. Testy przechodzą.

#programista15k #programowanie
  • 4
  • Odpowiedz
@Goddy: a jaki był problem z testowaniem na docelowym repozytorium, że musicie tak rzeźbić? W ten sposób jak będziecie mieć buga w obsłudze repozytorium lub integracji z nim to wam się testy nie zaświecą na czerwono.
  • Odpowiedz
via Android
  • 0
@Krolik przecież takie podejście nie wyklucza obecności testów integracyjnych. Te muszą być i są na rzeczywistej bazie. Implementacje in memory wykorzystujesz w testowaniu jednostkowym w stylu klasycznym w miejsce mockow z testowania London style.

Jeśli te style nic Ci nie mówią, to polecam taka książkę, najlepsza dostępna jeśli chodzi o testowanie:
Unit Testing Principles, Practices, and Patterns
  • Odpowiedz