Недавно писал тесты для модуля, который рисует на картинках текст и разные фигуры.
Обычные ошибки в коде можно поймать простым исключением. Но как убедиться что нарисовано именно то что надо? Например цвет правильный или шрифт выбран верно. Для этого нужно визуально сравнивать правильный рендер и тест.
Чтобы авто тесты оставались "авто", я использовал библиотеку imgcompare
С помощью неё достаточно просто сравнить два изображения и получить процентное соотношение различий между картинками.
Очень удобно проверять расхождения даже в мелочах. Например если что-то пошло не так и использовался шрифт по умолчанию. К тому же мелкие различия глазами не так уж просто заметить. Видите разницу в 1 процент на картинке к посту? Нет? А она есть🐹!
➡️https://github.com/datenhahn/imgcompare
#libs#tricks
A useful command when you encounter conflicts while cherry-picking:
tig HEAD $(git rev-parse CHERRY_PICK_HEAD 2>/dev/null) -- $(git diff --name-only --diff-filter=U | head -1)
#tricks@sudo_recast