среда, 12 июля 2017 г.

Tooling для golang: Tests

Несмотря на то, что часто можно слышать жалобы про недостаточный tooling в golang, я бы с этим с этим несогласился.

Так как я при разработке использую собственную, сильно облегченную, версию tdd, тесты для меня очень важны.

go test работает, но хочется красивости, наглядности и автоматизации.

Помучившись немного с ручными скриптами на inotifywatch, бросил это и нашел
Goconvey https://github.com/smartystreets/goconvey решает все эти проблемы изящно.

Запускаешь его и на порту 8080 получаешь сайтик с результатами твоих тестов в приятном виде.

Само перезапускается, показывает, уведомляет и прочее.

Оно включает собственную библиотеку с функциями типа assert, но я не использую, даже без этого уже достаточно полезно.