У меня есть пользовательские QWidgets, где все рисование выполняется вручную (fillRect, drawRect, drawText, drawPixmap..). Существует до 120 свойств, влияющих на то, что будет краской, как она будет мигать и так далее. Устаревший спагетти-код.
Когда я что-то меняю, я хотел бы сначала протестировать старую функциональность. Есть ли рекомендуемый способ покрытия QWidget::paintEvent(QPaintEvent* event)
модульными тестами? Должен ли я издеваться над QPainter или есть способ проверить вывод paintEvent?
Как вы покрываете paintEvetnt тестами?
QPixmap::grabWidget()
. Преобразуйте растровое изображение вQImage
и сравните его с исходным изображением:QImage::operator!=()
. Это только скажет вам, отличаются они или нет. Чтобы увидеть различия, вам нужно написать свою собственную функцию использования какого-либо инструмента. - person vahancho   schedule 22.05.2019