Модульне тестування з JUnit та Mockito
Модульне тестування з JUnit 5, Mockito для моків, assertions, @Mock, @InjectMocks, test doubles
1Що таке JUnit 5 Jupiter?
Що таке JUnit 5 Jupiter?
Відповідь
JUnit 5 Jupiter — це сучасний рушій тестування, який замінює JUnit 4, пропонуючи покращений API з модернізованими анотаціями та новими можливостями. Jupiter надає багатші твердження, кращу підтримку параметризованих тестів і модульну архітектуру, що дозволяє легко розширювати фреймворк. Використання Jupiter дає змогу скористатися можливостями Java 8+, такими як lambda у твердженнях.
2Яка анотація позначає метод як тест у JUnit 5?
Яка анотація позначає метод як тест у JUnit 5?
Відповідь
Анотація @Test із JUnit 5 ідентифікує метод як тестовий випадок, який буде виконано runner'ом. На відміну від JUnit 4, де @Test приймала параметри на кшталт expected чи timeout, JUnit 5 використовує спеціалізовані твердження, такі як assertThrows. Кожен метод @Test має бути самодостатнім і перевіряти певну поведінку ізольовано.
3Яка різниця між @BeforeEach і @BeforeAll?
Яка різниця між @BeforeEach і @BeforeAll?
Відповідь
@BeforeEach виконується перед кожним тестовим методом для ініціалізації чистого стану, тоді як @BeforeAll виконується один раз перед усіма тестами класу. @BeforeEach ідеально підходить для створення нових mock'ів або об'єктів для кожного тесту, забезпечуючи ізоляцію. @BeforeAll потребує статичного методу й використовується для затратних ініціалізацій, спільних для всіх тестів.
Яке твердження перевіряє рівність двох значень?
Як перевірити, що в JUnit 5 викидається виняток?
+27 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Обробка винятків
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Запити JPA
Spring Data Repositories
Основи Spring Security
Spring Boot Actuator
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
OAuth2 та Authorization Server
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
Оптимізація продуктивності
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно