Sobes.tech
Junior — Middle

Como é que a escrita de testes unitários e de integração é realizada na linguagem Go?

sobes.tech IA

Resposta da IA

No Go, utiliza-se o pacote testing para escrever testes unitários e de integração.

  • Testes unitários verificam funções ou métodos individuais isoladamente.
  • Testes de integração verificam a interação de vários componentes ou o trabalho com recursos externos.

Exemplo de teste unitário:

package mypackage

import "testing"

func TestSum(t *testing.T) {
    got := Sum(2, 3)
    want := 5
    if got != want {
        t.Errorf("Sum(2, 3) = %d; want %d", got, want)
    }
}

Para testes de integração, pode-se usar ficheiros com o sufixo _integration_test.go e executá-los separadamente, por exemplo, com a flag -tags=integration.

Também é comum usar objetos mock ou bases de dados de teste para simular dependências externas.

Execução dos testes:

go test ./...  # Executa todos os testes

Assim, o Go fornece um mecanismo simples e integrado para escrever e executar testes.