Testy jednostkowe, equals, warstwy

0

Hej. Mam dwa pytania:

  1. Czy w klasach-encjach nadpisywać metody equals() i hashCode() ? (czytałam że nie jest to dobre)

  2. Jeżeli nie nadpisywać to przy testach DAO rozumiem, że mogę się pożegnać z czymś typu np.

assertThat(book.getAuthors(),contains(author));

i najwyżej muszę albo pisać jakieś własne funkcje-equalsy pomocnicze / assertować po polach podstawowych (String, Integer itd...) ... jakby nie było w obu przypadkach muszę po kolei wtedy powyciągać je getterami.

  1. to tak na marginesie - gdy mam już powiedzmy jakiś biznes i logikę mam problem z zbudowaniem kolejnej warstwy tj. serwisów. jeżeli ktoś ma jakiś fajny projekt / dobre wyjaśnienie pod tym względem to proszę o link / cokolwiek. Głównie chodzi mi o to jaka wartość dodana powinna zawierać się w serwisie w stosunku do biznesu i pod jakim kątem głównie budować serwisy. (chce sobie wyrobić jasną granicę biznes - serwis ,bo ciągle odnoszę wrażenie, że to mieszam i mam problem z wyczuciem tego).
1
  1. możesz nadpisać o ile nie będziesz tam używać sztucznego identyfikatora (jeżeli masz naturalne id np. email, to można go użyć).
  2. nie pisać unitów DAO, pisać testy integracujne jak już koniecznie potrzebujesz coś sprawdzić.
  3. poszukaj prezentacji i artykułów o clean architecture.
0
  1. A co w tym DAO testujesz? Testujesz czy JPA/Hibernate dobrze wyciąga encje? To zostaw testom jednostkowym danego frameworka. Ty masz testować SWÓJ kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1