O documento discute as vantagens de usar a linguagem Go para testes de software, apresentando diversas ferramentas para testes com Go, como Godog para testes de aceitação baseados em BDD, Gomega para testes unitários e Ginkgo para execução de testes. Também cita empresas que usam Go em produção como Uber, Docker e Dropbox.
5. “
5
1. Está crescendo mais rápido do
que qualquer outra linguagem
2. Multicore
3. Concorrência
4. O código é fácil de manter
5. Grandes companhias confiam
no Google Go
10. ◇ Uber – How we built uber engineering’s highest
query per second service using Go
◇ Docker – Why did we decide to write Docker in
Go?
◇ Dropbox – Open sourcing our Go libraries
◇ OpenShift – OpenShift3 and Go – Teaching Old
Dogs New Tricks
◇ Twitter – Handling five billion sessions a day – in
real time
10
11. "Já que muitos usam GO
para desenvolver,
porque não testar com
Go também?"
13. Testes Unitário
Com Go a cobertura de testes unitário pode ser desenvolvida
pelo QA ou o QA pode avaliar a nível de código a Qualidade
para entrega.
O GO tem uma própria biblioteca para testes "testing"
Similar a NCover (.NET) ou Istanbul (Node.js)
13
https://www.golang-book.com/books/intro/12
22. GoDog
22
Executando o Test:
Precisamos esse projeto tem dependências no do vendor
Execute
git clone https://github.com/DATA-DOG/godog.git
$GOPATH/src/godogs/vendor/github.com/DATA-DOG/godog
25. Gomega
25
Gomega é a biblioteca de correspondência preferida do
framework de testes estilo Ginkgo BDD
Disponível em:
http://onsi.github.io/gomega/
go get github.com/onsi/gomega/…
import "github.com/onsi/gomega"
26. 26
O Ginkgo é um framework de testes Go estilo BDD construído
para ajudá-lo a escrever com eficiência testes expressivos e
abrangentes.
O Ginkgo se conecta à infraestrutura de "testing" existente da
Go. Isso permite que você execute uma suíte Ginkgo usando
"go test".
Ginkgo
30. Goblin
30
Um Mocha como o framework de testes do BDD escrito em Go,
que não requer dependências adicionais. Não requer
documentação extensiva nem etapas complicadas para fazê-lo
funcionar.
Disponível em:
https://github.com/franela/goblin
33. Agouti
33
O Agouti é um cliente WebDriver universal para o Go. Para
testes de aceitação ou integração, é melhor complementado
pela estrutura de testes do Ginkgo BDD e pela biblioteca de
correspondência do Gomega, mas foi projetada para ser
independente de estrutura de teste e de biblioteca de
correspondência.
Disponível em: https://agouti.org/
34. "Acreditamos que somente grandes
testes podem levar a um ótimo
software: escrever testes é uma
tarefa atraente e não há regras
universais sobre isso."
35. "Escrever testes com o Go é geralmente
uma experiência divertida, graças à
simplicidade da linguagem: a biblioteca
padrão oferece um ambiente de teste
simplificado, e a vibrante comunidade
Gophers criou boas ferramentas
construídas sobre ele."
36. Thanks!
Any questions?
You can find me at:
Nàtali Cabral
natalicabral95@gmail.com
https://github.com/naascabral/
https://medium.com/@Naascabral
36