Sobes.tech
Junior

Fale sobre o princípio Triple A nos testes (Arrange, Act, Assert).

sobes.tech IA

Resposta da IA

O princípio Triple A (Arrange, Act, Assert) é uma abordagem estruturada para escrever testes unitários, tornando-os mais compreensíveis, legíveis e fáceis de manter.

  1. Arrange (Preparar): Nesta fase, prepara-se o estado necessário do sistema ou do objeto para o teste. Inicializam-se objetos, definem-se dados iniciais, configuram-se dependências.

    • Exemplo: Criar uma instância de uma classe, configurar mocks ou stubs.
  2. Act (Agir): Aqui, realiza-se a ação que se deseja testar ou chama-se a funcionalidade a ser verificada. Geralmente, é uma chamada ou ação clara.

    • Exemplo: Chamar um método do objeto, enviar uma requisição a uma API.
  3. Assert (Afirmar): Nesta etapa, verifica-se o resultado da ação realizada. Compara-se o resultado real com o esperado.

    • Exemplo: Verificar o valor retornado por um método, o estado do objeto, mudanças na base de dados.

Exemplo em C#:

// Arrange
var calculator = new Calculator();
int number1 = 5;
int number2 = 3;

// Act
int result = calculator.Add(number1, number2);

// Assert
Assert.AreEqual(8, result);

Exemplo em Python:

# Arrange
class Calculator:
    def add(self, a, b):
        return a + b

calc = Calculator()
num1 = 5
num2 = 3

# Act
result = calc.add(num1, num2)

# Assert
assert result == 8, f"Expected 8, but got {result}"

O uso do Triple A ajuda a dividir claramente as etapas do teste, facilitando a compreensão do que está sendo testado e qual o resultado esperado. Isso simplifica a depuração e a refatoração dos testes.