Sobes.tech
Junior — Middle

Pode explicar em que consistem os testes com parâmetros e por que são utilizados?

sobes.tech IA

Resposta da IA

Testes parametrizados são testes que são executados várias vezes com diferentes conjuntos de dados de entrada. Isso permite verificar a mesma lógica com diferentes valores sem duplicar o código.

Para que servem:

  • Aumentam a cobertura dos testes.
  • Simplificam a manutenção, pois um único teste verifica múltiplos casos.
  • Tornam os testes mais legíveis e compactos.

Exemplo em 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);
    }
}