Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Модульне Тестування з JUnit | Тестування Бекенд-Додатків
Spring Boot Backend

bookМодульне Тестування з JUnit

Під час огляду архітектури застосунку ми пропустили директорію test, яка призначена для тестів. Тепер розглянемо детальніше, як писати ці тести та що для цього необхідно.

Базові поняття

Для тестування ми будемо використовувати бібліотеку JUnit. Це один із найпопулярніших фреймворків для модульного тестування у Java-застосунках. Вона проста у використанні та інтеграції, особливо зі Spring Boot.

Щоб використовувати JUnit, необхідно додати залежність до файлу pom.xml.

Тепер ми готові написати наш перший тест у нашому застосунку!

Написання тесту

Тепер ми напишемо тест, який не є безпосередньо пов’язаним із нашим застосунком, але допоможе вам зрозуміти концепцію тестування.

У Spring Boot тести зазвичай розміщуються у директорії src/test/java, яка автоматично створюється під час ініціалізації проєкту. Тут ми можемо створити наш тест.

Створимо клас з назвою SimpleTest, і в ньому можна створити тестовий метод під назвою testSum().

SimpleTest.

SimpleTest.

copy
123456789101112
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }

Анотація @Test у JUnit позначає, що метод є тестом і має бути виконаний під час процесу тестування.

Усередині тесту використовується твердження: assertEquals(4, result), яке перевіряє, що результат обчислення відповідає очікуваному значенню. Якщо result не відповідає очікуванням, тест буде вважатися невдалим, що сигналізує про проблему в логіці програми.

Після запуску нашого тесту можна переконатися, що він пройшов успішно!

Правила написання тестів

У модульних тестах важливо дотримуватися чіткої та структурованої системи іменування класів і методів, щоб тести були зрозумілими та легкими для підтримки.

Іменування класів

Назва класу, який тестується, має містити суфікс Test. Наприклад, якщо тестується клас з назвою BookController, відповідний тестовий клас буде називатися BookControllerTest.

Іменування методів

Назви тестових методів повинні бути описовими, щоб будь-хто, хто їх читає, міг зрозуміти, що саме тестується. Хороша схема іменування включає: (Що тестується) _ (За яких умов) _ (Очікуваний результат).

testCreateUser_whenInputIsValid_shouldReturnCreatedUser

У цій назві тесту testCreateUser вказує, що перевіряється процес створення користувача. Наступна частина, whenInputIsValid, описує умови, за яких проводиться тест — а саме, коли вхідні дані користувача є коректними. Нарешті, shouldReturnCreatedUser визначає очікуваний результатметод повинен повернути створеного користувача.

Підсумок

Модульне тестування за допомогою JUnit дозволяє перевіряти правильність окремих частин застосунку в ізоляції, що забезпечує високу якість коду та стабільність системи при внесенні змін.

JUnit надає зручні інструменти для написання, виконання та організації тестів, що робить його основним вибором для тестування Java-застосунків, зокрема Spring Boot.

1. Що робить анотація @Test у JUnit?

2. Якого правила іменування слід дотримуватися для тестових класів у JUnit?

question mark

Що робить анотація @Test у JUnit?

Select the correct answer

question mark

Якого правила іменування слід дотримуватися для тестових класів у JUnit?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

What are the steps to write a basic test using JUnit?

Can you explain how to organize test classes and methods effectively?

What are some best practices for naming test methods in Java?

Awesome!

Completion rate improved to 3.45

bookМодульне Тестування з JUnit

Свайпніть щоб показати меню

Під час огляду архітектури застосунку ми пропустили директорію test, яка призначена для тестів. Тепер розглянемо детальніше, як писати ці тести та що для цього необхідно.

Базові поняття

Для тестування ми будемо використовувати бібліотеку JUnit. Це один із найпопулярніших фреймворків для модульного тестування у Java-застосунках. Вона проста у використанні та інтеграції, особливо зі Spring Boot.

Щоб використовувати JUnit, необхідно додати залежність до файлу pom.xml.

Тепер ми готові написати наш перший тест у нашому застосунку!

Написання тесту

Тепер ми напишемо тест, який не є безпосередньо пов’язаним із нашим застосунком, але допоможе вам зрозуміти концепцію тестування.

У Spring Boot тести зазвичай розміщуються у директорії src/test/java, яка автоматично створюється під час ініціалізації проєкту. Тут ми можемо створити наш тест.

Створимо клас з назвою SimpleTest, і в ньому можна створити тестовий метод під назвою testSum().

SimpleTest.

SimpleTest.

copy
123456789101112
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }

Анотація @Test у JUnit позначає, що метод є тестом і має бути виконаний під час процесу тестування.

Усередині тесту використовується твердження: assertEquals(4, result), яке перевіряє, що результат обчислення відповідає очікуваному значенню. Якщо result не відповідає очікуванням, тест буде вважатися невдалим, що сигналізує про проблему в логіці програми.

Після запуску нашого тесту можна переконатися, що він пройшов успішно!

Правила написання тестів

У модульних тестах важливо дотримуватися чіткої та структурованої системи іменування класів і методів, щоб тести були зрозумілими та легкими для підтримки.

Іменування класів

Назва класу, який тестується, має містити суфікс Test. Наприклад, якщо тестується клас з назвою BookController, відповідний тестовий клас буде називатися BookControllerTest.

Іменування методів

Назви тестових методів повинні бути описовими, щоб будь-хто, хто їх читає, міг зрозуміти, що саме тестується. Хороша схема іменування включає: (Що тестується) _ (За яких умов) _ (Очікуваний результат).

testCreateUser_whenInputIsValid_shouldReturnCreatedUser

У цій назві тесту testCreateUser вказує, що перевіряється процес створення користувача. Наступна частина, whenInputIsValid, описує умови, за яких проводиться тест — а саме, коли вхідні дані користувача є коректними. Нарешті, shouldReturnCreatedUser визначає очікуваний результатметод повинен повернути створеного користувача.

Підсумок

Модульне тестування за допомогою JUnit дозволяє перевіряти правильність окремих частин застосунку в ізоляції, що забезпечує високу якість коду та стабільність системи при внесенні змін.

JUnit надає зручні інструменти для написання, виконання та організації тестів, що робить його основним вибором для тестування Java-застосунків, зокрема Spring Boot.

1. Що робить анотація @Test у JUnit?

2. Якого правила іменування слід дотримуватися для тестових класів у JUnit?

question mark

Що робить анотація @Test у JUnit?

Select the correct answer

question mark

Якого правила іменування слід дотримуватися для тестових класів у JUnit?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 2
some-alt