"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Teste de unidade em movimento

Teste de unidade em movimento

Publicado em 01/08/2024
Navegar:472

Unit Test At Go

Go fornece um pacote de testes, contendo muitas ferramentas para fins de testes unitários.

Preparação
Vamos apenas praticar, primeiro prepare uma estrutura Cube, a variável de objeto resultante da estrutura será usada posteriormente como material de teste.

package main

import "math"

type Cube struct {
 Sisi float64
}
func (k Cube) Volume() float64 {
 return math.Pow(k.Sisi, 3)
}
func (k Cube) Area() float64 {
 return math.Pow(k.Sisi, 2) * 6
}
func (k Cube) circumference() float64 {
 return k.Sisi * 12
}

Salve o código acima no arquivo training1.go

package main
import "testing"
var (
cube Cube = Cube{4}
volume Should float64 = 64
area Should float64 = 96
circumference Should float64 = 48
)
func TestCalculateVolume(t *testing.T) {
t.Logf("Volume : %.2f", cube.Volume())
if cube.Volume() != volumeShould {
t.Errorf("WRONG! should be %.2f", volumeShould)
}
}
func TestCalculateSurface(t *testing.T) {
t.Logf("Area : %.2f", cube.Area())
if cube.Area() != areaShould {
t.Errorf("WRONG! should be %.2f", areaShould)
}
}
func TestCalculatePerimeter(t *testing.T) {
t.Logf("Perimeter : %.2f", cube.Perimeter())
if cube.Perimeter() != circumferenceShould {
t.Errorf("WRONG! should be %.2f", circumferenceShould)
}
}

O método t.Logf() é usado para exibir um log. Este método é equivalente a fmt.Printf() .
O método Errorf() é usado para exibir um log seguido por uma declaração de que ocorreu uma falha durante o teste.
A maneira de executar o teste é usar o comando go test. Como a estrutura que está sendo testada está no arquivo bab55.go, ao executar o teste usando go test, os nomes dos arquivos bab55_test.go e bab55.go precisam ser escritos como argumentos. O argumento -v ou detalhado é usado para exibir todas as saídas de log durante o teste.
Execute o aplicativo conforme mostrado na imagem abaixo, percebe-se que nenhum teste falhou. OK, então tente alterar a fórmula de cálculo do método Keliling(). O objetivo desta mudança é descobrir como o marcador de falha aparece quando um teste falha.

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

Depois disso, execute o teste novamente.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/sukmarizki04/unit-test-at-go-393f?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3