[#] А пусть тесты сами себя и поддерживают
habrabot(difrex,1) — All
2017-05-24 10:30:04


Сегодня я хочу рассказать о необычном подходе к написанию тестов, к которому я как-то незаметно пришел в ходе работы над несколькими проектами разной величины, и который я почему-то не встречал в чистом виде у других, хотя он, в общем-то, лежит на поверхности. С недавних пор я начал писать кое-какой код на Go, и как только встал вопрос о написании тестов, я опять вспомнил об этом подходе.


## Как обычно выглядят тесты?


Очень схематично, каждый юнит-тест обычно состоит из следующих шагов:
1. инициализации входных данных;
2. выполнения бизнес-логики и получения результата;
3. сравнения результата с эталоном.
Входные и выходные данные зачастую находятся в самом коде; когда изменения кода привносят ожидаемые изменения в выходных данных, эталонные результаты приходится править вручную. В некоторых случаях, когда данные для теста объемны, их выносят в отдельные файлы, но поддержка эталонных данных, а так же логика сравнения остается на плечах разработчика.


## Но ведь все это можно унифицировать!

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/329260/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut