Postagens

Mostrando postagens de dezembro, 2024

Go Básico: Testando Saída do Console (stdout) com os.Pipe

Imagem
Testar a saída do console em programas Go pode ser um desafio, especialmente quando queremos garantir que nossas funções estão imprimindo o resultado correto em nossas aplicações de CLI. Neste artigo, vamos explorar como usar os.Pipe para capturar e verificar a saída do console de maneira eficaz, permitindo a criação de testes unitários robustos para suas funções que escrevem na saída padrão ( os.Stdout ). Para exemplificar, vamos utilizar o seguinte exemplo como demonstração, simulando uma possível aplicação. package main import ( "fmt" ) func printSomething(s string) { fmt.Println(s) } func main() { printSomething("Hello, World!") } Agora vamos supor que queremos testar esta função printSomething e validar se ela realmente está imprimindo o que desejamos de maneira correta. package main import ( "io" "os" "testing" ) func Test_printSomething(t *testing.T) { // Save the original standard output stdOut :=...