Java: Коллекции

Теория: Тесты

Тесты – единственный надежный способ убедиться в работоспособности кода.

Виды тестов:

  • модульные (проверяют работоспособность конкретных програмных модулей функций)
  • интеграционнные (проверяют, что модули правильно работают вместе)
  • системные (имитируют работу всей системы целиком)

Автоматические тесты

package exercise;

// Импортируем инструменты для тестирования
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;

// Протестируем метод App.factorial(), который возвращает факториал переданного числа.

class AppTest {

    @Test
    void testFactorial() {
        // Нужно протестировать основную функциональность и пограничные случаи

        // Основная функциональность

        // Получаем и сравниваем результат: факториал 5 равен 120
        int actual1 = App.factorial(5);
        assertThat(actual1).isEqualTo(120);

        // Получаем и сравниваем результат: факториал 3 равен 6
        int actual2 = App.factorial(3);
        assertThat(actual2).isEqualTo(6);

        // Пограничные случаи

        // Получаем и сравниваем результат: факториал 0 равен 1
        int actual3 = App.factorial(0);
        assertThat(actual3).isEqualTo(1);

        // Получаем и сравниваем результат: факториал 1 равен 1
        int actual4 = App.factorial(1);
        assertThat(actual4).isEqualTo(1);
    }
}