Podążam religijnie za TDD. Moje projekty zazwyczaj mają 85% lub więcej pokrycia testowego, z sensownymi przypadkami testowymi.
Dużo pracuję z HBase , a główny interfejs klienta, HTable, jest bardzo trudny do wyszydzenia. Pisanie moich testów jednostkowych zajmuje mi 3 lub 4 razy więcej niż pisanie testów, które używają aktywnego punktu końcowego.
Wiem, że filozoficznie testy wykorzystujące symulacje powinny mieć pierwszeństwo przed testami wykorzystującymi aktywny punkt końcowy. Ale szydzenie z HTable jest poważnym bólem i nie jestem pewien, czy oferuje dużą przewagę nad testowaniem na żywo instancji HBase.
Wszyscy w moim zespole uruchamiają jedno-węzłowe wystąpienie HBase na swojej stacji roboczej, a my mamy jedno-węzłowe wystąpienia HBase działające na naszych urządzeniach Jenkins, więc nie jest to kwestia dostępności. Testy na żywo punktów końcowych trwają oczywiście dłużej niż testy wykorzystujące symulacje, ale tak naprawdę nas to nie obchodzi.
W tej chwili piszę na żywo testy punktów końcowych ORAZ testy próbne dla wszystkich moich klas. Chciałbym porzucić te kpiny, ale nie chcę, aby jakość spadła.
Co wszyscy myślicie