Вместо вступления
Эта статья посвящается тем, кто, как и я, пришел в Go из мира Django. Так вот, Django нас избаловал. Стоит только запустить тесты, как он сам, под капотом, создаст тестовую БД, прогонит миграции, а после прогона сам за собой приберёт. Удобно? Безусловно. Вот только времени на прогон миграций уходит — вагон, но это кажется разумной платой за комфорт, плюс всегда есть --reuse-db
. Тем сильнее бывает культурный шок, когда бывалые джангисты приходят в другие языки, например в Go. То есть как-это никаких автомиграций до и после? Руками? А базу? Тоже руками? А после тестов? Что, и тирдаун руками? Ну и далее программист, перемежая код ахами и вздохами, начинает писать на Go джангу в отдельно взятом проекте. Конечно, выглядит всё это очень печально. Однако, в Go вполне возможно писать быстрые и надёжные юнит-тесты без использования сторонних сервисов типа тестовой БД или кэша.
Об этом и будет мой рассказ.