Guia Prático de Git e Testes Unitários com JUnit

Classificado em Matemática

Escrito em em português com um tamanho de 2,97 KB

Comandos Básicos de Git

  • Inicializar um repositório numa diretoria existente: git init
  • Começar a monitorizar (tracking): git add e git commit
    • git add *.c
    • git add LICENSE
    • git commit -m 'initial project version'
  • Verificar o estado dos ficheiros: git status
  • Listar os remotes: git remote
  • Adicionar um remote: git remote add
  • Fetching e pulling do remote: git fetch [remote-name]

JUnit: Framework de Testes

O JUnit é uma framework de testes baseada em anotações, com integração em IDEs e execução automática.

Conceitos Fundamentais

  • Classes de teste: Uma classe de teste para cada classe do projeto.
  • Convenções: Nomes baseados nas classes testadas (ex: MyClass -> MyClassTest).
  • Métodos de teste: Implementam casos de teste num ambiente isolado.
  • Suite de teste: Conjunto de classes de teste.
  • Estrutura de um teste:
    • Setup: Inicialização de variáveis e resultado esperado.
    • Execução: Chamada do método a testar.
    • Assert: Comparação entre o resultado obtido e o esperado.

Anotações JUnit

  • @BeforeClass: Executado antes de todos os testes da classe (inicializações).
  • @AfterClass: Executado após todos os testes da classe (limpeza).
  • @Before: Executado antes de cada teste (setup do ambiente).
  • @After: Executado após cada teste (limpeza).
  • @Test: Marca um método como teste.
  • @Test(timeout = n): Define o tempo máximo de execução.
  • @Test(expected = Exception.class): O teste passa se a exceção for lançada.
  • @Ignore: Ignora testes incompletos.

Assertions (Afirmações)

  • assertEquals: Verifica igualdade entre objetos ou arrays.
  • assertNull / assertNotNull: Verifica se o objeto é nulo ou não.
  • assertSame / assertNotSame: Verifica se são a mesma instância.
  • assertTrue / assertFalse: Verifica condições booleanas.
  • fail: Força a falha do teste.

Dicas para Testes Unitários

  • Use variáveis de classe nas classes de teste.
  • Seja exaustivo nos cenários testados.
  • Não esqueça de testar o lançamento de exceções.
  • Documente os asserts para facilitar a depuração.
  • Verifique periodicamente a cobertura dos testes.

Entradas relacionadas: