Spring with JUnit
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:
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?