Se você ainda não conhece, Testify é um conjunto de ferramentas para nos auxiliar na hora de escrever testes e mocks.
Por ser uma “casquinha” feita em cima dos próprios testes do Go, a utilização desse package não deve causar grandes problemas.
Na data em que escrevo esse post, o Testify é dividido em 4 packages:
- Assert (github.com/stretchr/testify/assert): Fornece funções para ajudar na escrita/validação dos testes.
- Require (github.com/stretchr/testify/require): Fornece as mesmas funções que o assert. A diferença é que ao invés de retornar um boolean, ao encontrar um erro, ele para os testes com um
FailNow
. - Mock (github.com/stretchr/testify/mock): Fornece um mecanismo para facilitar a escrita de mocks.
- Suite (github.com/stretchr/testify/suite): Fornece funcionalidades para que você possa criar os testes utilizando uma abordagem de orientação a objetos, com métodos setup e teardown acoplados a sua struct.
Para começar, considerando o código abaixo, vamos ver como o package assert
pode nos ajudar.