Mas… o que é BDD?
Dado… um contexto
Quando… a ação é executada
Então… possuo um resultado
Behavior Driven Development
Slide 5
Slide 5 text
Instalação
go get github.com/onsi/ginkgo/ginkgo
go get github.com/onsi/gomega/...
Slide 6
Slide 6 text
Vamos ao nosso primeiro teste
Imaginar uma função fibonnaci
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
Indica o Ginkgo a suíte
que vai ser rodada.
Avisa o GoMega que o
teste falhou.
Slide 9
Slide 9 text
Describe
It
BeforeEach
AfterEach
XContext
XIt
Context
Pit
When
XDescribe
Slide 10
Slide 10 text
Primeiro, identificamos a função que será testada
Depois descrevemos o comportamento isolado da função, declaramos variáveis
usadas nos testes...
Slide 11
Slide 11 text
Antes de cada test case, iremos definir o valor da variável que será
passada para a função
E logo em seguida vamos chamar a função testada com o valor
que definimos
Slide 12
Slide 12 text
Definimos um contexto...
E especificamos qual é o comportamento esperado dentro desse contexto
E, por fim, testamos se o valor retornado é o que estávamos esperando
Slide 13
Slide 13 text
Seguindo esse modelo, podemos
adicionar quantos contextos
forem necessários
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
E vamos rodar os testes...
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
E se o retorno da função for diferente do esperado?
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Podemos "pular" alguns test cases temporariamente...
Slide 20
Slide 20 text
Assim como focar apenas em testes específicos
Slide 21
Slide 21 text
-r roda os testes recursivamente dentro de um diretório
-succinct retorna informações bem reduzidas da suíte de
testes
-cover retorna porcentagem da cobertura de testes
-failFast para a suite de testes em andamento quando
houver falha
-timeout falha o teste se demorar mais do que n segundos
para completar
ginkgo -v ./...