Spring with JUnit

CircleCI codecov

Considerações

JUnit

Framework para execução de testes unitários dentro da plataforma Java.

Exemplo de uma classe em Java para resolver expressões matemáticas:

public class Calculator {
  public int evaluate(String expression) {
    int sum = 0;
    for (String summand: expression.split("\\+"))
      sum += Integer.valueOf(summand);
    return sum;
  }
}

Teste unitário correspondente:

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class CalculatorTest {
  @Test
  public void evaluatesExpression() {
    Calculator calculator = new Calculator();
    int sum = calculator.evaluate("1+2+3");
    assertEquals(6, sum);
  }
}

Informações adicionais na documentação do JUnit.

TDD (Test driven development)

TDD é o Desenvolvimento orientado por testes. Primeiro desenvolvem-se os testes, inicialmente todos irão falhar (red) e após os testes escritos, desenvolvem-se as funcionalidades até que os testes sejam positivos (green).

Ciclo de desenvolvimento TDD:

ciclo tdd

Mais detalhes em DevMedia.

JaCoCo e Codecov

Ferramentas que possibilitam ao desenvolvedor vizualizar a cobertura dos testes, isto é, um conjunto de respostas para as seguintes perguntas:

  • Quanto do meu código foi testado?
  • Já testei tudo?
  • O que falta?

Ambos juntos fornecem: codecov

Informações adicionais: JaCoCo e Codecov