Юнит-тесты для практического курса [Practice][Java] Testing (Modsen): JUnit 5 + Mockito.
- Java 17, Maven
- JUnit Jupiter 5.10.2
- Mockito 5.11.0 (
mockito-core,mockito-junit-jupiter)
mvn testКаждое задание - в своём пакете com.modsen.testing.taskNN. Исходные классы (объекты тестирования) - в src/main/java, тесты - в src/test/java.
| № | Объект тестирования | Техника |
|---|---|---|
| 1 | Calculator.add |
JUnit, @ParameterizedTest + @CsvSource |
| 2 | StringUtils.isPalindrome |
JUnit, @ValueSource, граничные случаи |
| 3 | BankAccount.withdraw |
JUnit, assertThrows (checked exception) |
| 4 | UserService.createUser |
Mockito, @Mock / @InjectMocks, verify |
| 5 | OrderProcessor.processOrder |
Mockito, when/thenReturn + verify |
| 6 | UserService.createUser |
Mockito, ArgumentCaptor |
| 7 | ShoppingCart.checkout |
Mockito, verify(times), verifyNoInteractions |
| 8 | UserService.getUserName |
Mockito, when/thenReturn (разные id, null) |
| 9 | DataDeleter.deleteData |
JUnit, assertThrows, @NullSource+@ValueSource |
| 10 | DiscountCalculator |
JUnit, границы возраста, IllegalArgumentException |
Задание 6 переиспользует классы из
task04(тот жеUserService), проверяя его с помощьюArgumentCaptor.