Introscope: ну очень ленивое unit-тестирование
- среда, 23 января 2019 г. в 00:19:40
Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно структуру модулей. В какой-то момент пришла мысль, что можно это еще и автоматизировать как-то с помощью простенького babel-плагина, чтобы он для начала все приватные переменные и методы выворачивал в тестовой среде, а в продакшене не трогал. Это оказалось довольно просто и увлекательно. Так появился Introscope, которым мы теперь тестируем всё более-менее сложное.
Сдав проект, я отвлёкся на несколько месяцев на улучшение деплоя и мониторинга, отдохнул, Хабр почитал, а когда понадобилось снова что-то потестировать, то прямо пришел в восторг от собственной тулзы! Это со мной не часто бывает. Точнее, никогда еще не было. Так что, думаю, что штука работает. Надеюсь, вам тоже пригодится.
Тесты начали писать люди, которые раньше про них даже слышать не хотели, ведь надо только вызвать функцию с нужными параметрами и сохранить лог того, что в этой функции происходило одной кнопкой. Вот прям захотелось что-ньть еще потестировать…
Ссылочка: Introscope (там есть гифки-скринкастики!). Буду очень рад конструктивной критике и ссылкам на то же самое, но сделанное гораздо лучше :D