- Uruchomienie aplikacji z nowymi ustawieniami, można tego dokonać w:   --> Run -> Edit Configuration... -> Active profiles:      wpisz w
- Test będzie wykorzystywał trzy wstrzyknięte komponenty, oznaczone adnotacją @Autowired:   -- ExpensesService   -- ExpensesRepository   -- UserRepository - Testy powinny sprawdzać
- Po co refaktoring? -- potrzebne jest "jedno miejsce prawdy", w przyszłości po rozszerzeniu aplikacji, tylko w jedno miejsce będzie
Rysunek 1. pokazuje przykładowy wygląd widoku jaki zobaczy użytkownik. W ExpensesRepository możesz stworzyć @Query("SELECT e FROM ExpensesEntity e WHERE e.user
Rysunek 1. jest diagramem UML. przybliżającym możliwe rozwiązanie, zakodowanie, zadania. Rysunek 2. jest przykładowym widokiem jaki może zobaczy użytkownika, po
Potencjalne błędy: - brak 'from' gdy jest 'to' = /expenses/filter?to=2000-01-01 - brak 'to' gdy jest 'from' = /expenses/filter?from=2000-01-01 - brak
Adnotacje: - @MethodSource - @ValueSource - @CsvSource są indywidualnym wyborem programisty, w połączeniu z @ParameterizedTest, powinna występować tylko jedna z
Rysunek 1. obrazuje wygląd wzoraca projektowego: Fabryka, i możliwe nazwy klas. Rysunek 2. obrazuje wygląd wzoraca projektowego: Chain Of Responsibility,
Rysunek 1. Przedstawia wzorzec projektowy: Fabryka Rysunek 2. Przedstawia już zaimplementowany (napisany kod) - szare kafelki, oraz ten który należy
Możesz sugerować się implementacja zastosowaną w wydatkach (Expenses), rozwiązanie będzie bardzo podobne. Mając już szkielet Fabryki, wystarczy dodać nową klasę,
Możesz zasugerować się testami, które zostały napisane w ramach Wydatków (ExpensesServiceIntegrationTest) W teście, klasie bazowej InitIntegrationTestData, dobrze będzie stworzyć dwie
Nowy test w AssetsServiceIntegrationTest jest prawie identyczny jak ten w ExpensesServiceIntergrationTest, metoda shouldThrowExceptionWhenOneOfTheFiltersKey (w Twoim wypadku możesz mieć dwie metody,
Klasa FilterStrategy powinna mieć jedną metodę: - chackFilterForSpecification(Map<String, String> filter, FilterSpecification) - mapa filtrów i enum -- pseudokod, ciała metody:
Strategia zastosowana w tym zadaniu jest bardzo podobna do tej jak była ostatnio dodana, jednak tutaj zachodzi większe prawdopodobieństwo popełnia
Klasa AssetContollerExceptionHandler posiada już jedną metodę przechwytującą wyjątek, dodanie nowych będzie analogiczne. Klasa ErrorMessage posiada Buildera, z którego można skorzystać
Zapoznaj się z Liquibase. Aplikacja do tworzenia struktury bazodanowej korzysta z plików yaml, pliki te wymagają odpowiedniej ilości wcięć, aby
Metoda getAllEntityBetweenDate w Klasie ExpensesFilterRange również powinna otrzymać nowy parametr, jednak w tym miejscu ten parametr nie będzie wykorzystywany -
- w InitIntegrationTestData -- można albo stworzyć nową metodą w trzema parametrami - preferowane rozwiązanie mniej kodu do dodania, --
Plik Liquibase powinien zawierać: - id: 09-proparty-schema - author: uzupełnij swoim imieniem - tableName: property - informacja o nazwie pola,
Do Sprawdzenie pól w teście shouldSaveBasicPropertyInDatabase możesz wykorzystać: assertAll z JUnit5, przykładowy kod: ``` var entity = entitys.get(0); assertAll(       ()

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.