Урок 45: Тестирование в Java
Тестирование является важной частью разработки программного обеспечения. Оно помогает выявить ошибки, повысить качество кода и удостовериться, что программа работает так, как задумано. В этом уроке мы рассмотрим основные концепции тестирования в Java, включая модульное тестирование с использованием библиотеки JUnit.
Модульное тестирование с JUnit
JUnit — это популярная библиотека для модульного тестирования в Java. Она позволяет создавать и запускать тесты, а также проверять их результаты. Пример простого теста с использованием JUnit:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorTest {
@Test
public void testAddition() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result);
}
}
class Calculator {
public int add(int a, int b) {
return a + b;
}
}
Результат выполнения
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
> Task :test
CalculatorTest > testAddition() PASSED
Основные аннотации JUnit
@Test
- Обозначает метод как тестовый.
@BeforeEach
- Метод, который выполняется перед каждым тестом.
@AfterEach
- Метод, который выполняется после каждого теста.
@BeforeAll
- Метод, который выполняется один раз перед всеми тестами.
@AfterAll
- Метод, который выполняется один раз после всех тестов.
Упражнения
Упражнение 1: Тестирование метода вычитания
Создайте тест для метода subtract
класса Calculator
, который выполняет вычитание двух чисел. Проверьте, что метод работает правильно.
Решение:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorTest {
@Test
public void testSubtraction() {
Calculator calculator = new Calculator();
int result = calculator.subtract(5, 3);
assertEquals(2, result);
}
}
class Calculator {
public int subtract(int a, int b) {
return a - b;
}
}
Объяснение: В этом тесте проверяется метод subtract
, который выполняет вычитание. Тест проверяет, что результат вычитания 5 - 3 равен 2.
Упражнение 2: Тестирование метода умножения
Создайте тест для метода multiply
класса Calculator
, который выполняет умножение двух чисел. Проверьте, что метод работает правильно.
Решение:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorTest {
@Test
public void testMultiplication() {
Calculator calculator = new Calculator();
int result = calculator.multiply(4, 3);
assertEquals(12, result);
}
}
class Calculator {
public int multiply(int a, int b) {
return a * b;
}
}
Объяснение: В этом тесте проверяется метод multiply
, который выполняет умножение. Тест проверяет, что результат умножения 4 * 3 равен 12.