Для чего нужен testify в Go

«Для чего нужен testify в Go» — вопрос из категории Тестирование, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Testify — популярная библиотека для тестирования в Go, расширяющая стандартный testing. Основные пакеты:

  1. assert — удобные assertions с читаемыми сообщениями об ошибках:
assert.Equal(t, 42, result, "They should be equal")
  1. require — аналогично assert, но тест завершается сразу при ошибке.

  2. mock — создание мок-объектов для тестирования зависимостей:

mockedObj := new(MockedObject)
mockedObj.On("Method", "arg").Return(true)
  1. suite — организация тестов в структуры с setup/teardown методами.

Упрощает тестирование, делает код тестов чище и информативнее по сравнению с голым testing.