Sobes.tech
Назад к вопросам
Junior — Middle
66

Можете объяснить, что из себя представляют тесты с параметрами и зачем они используются?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Тесты с параметрами (parameterized tests) — это тесты, которые запускаются несколько раз с разными наборами входных данных. Это позволяет проверить одну и ту же логику на разных значениях без дублирования кода.

Зачем использовать:

  • Повышают покрытие тестами.
  • Упрощают поддержку, так как один тест проверяет множество случаев.
  • Делают тесты более читаемыми и компактными.

Пример на JUnit 5:

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

class ExampleTest {
    @ParameterizedTest
    @ValueSource(strings = {"racecar", "radar", "level"})
    void testPalindrome(String candidate) {
        assertTrue(isPalindrome(candidate));
    }

    boolean isPalindrome(String text) {
        return new StringBuilder(text).reverse().toString().equals(text);
    }
}