Мы используем юнит-тесты на проекте. Сейчас их уже полторы сотни. Без ATL это было бы нереально.
В основном они покрывают большие доработки, с каждым новым багом или сценарием дописывается новый тест или два.
Уже была пара случаев, когда разработчики что-то ломали и не могли зачекинить своё из-за чужих падающих тестов.
Но основное преимущество, как по мне - это сниженные временные затраты на перетестирование большой фичи после очередного исправления. Запустить все тесты на полчаса и пойти пообедать, а потом вернуться и видеть что все тесты прошли - приятно.
Во многих случаях даже не приходилось запускать UI перед чекином, потому-что TDD в паре с ATL рулит.
Из трудностей - слишком мало примеров ATL тестов, и нередко приходится копаться в Atl* классах, чтобы понять, как их правильно применить.
Исправлять существующие тесты приходилось редко, потому-что старые требования практически не менялись, а только появлялись новые.
|