Как проверить метод, который рисует на холсте? - PullRequest
0 голосов
/ 08 декабря 2018

Как проверить метод, который рисует что-то на холсте.Например, для приложения для Android у меня есть следующий код:

@Override
public void draw(Canvas canvas) {
    canvas.drawRect(rect, paint);
}

Это, конечно, очень простой пример, но все же: как мне проверить, что нарисован правильный Rect?Другими словами, как проверить, отображает ли пользовательский интерфейс правильные вещи.

Полагаю, я мог бы проверить все свои пиксели на экране, чтобы увидеть, имеют ли они правильные свойства, но я думаю, это очень наивно.подход:)

1 Ответ

0 голосов
/ 08 декабря 2018

По сути, вы не тестируете функциональность, которую не реализовали в модульных тестах.

Вы пишете модульные тесты, чтобы гарантировать, что ожидаемые вызовы произойдут.И что ожидаемые параметры передаются таким библиотечным методам.

Затем, позже, вы можете выполнить ручное тестирование сквозной функциональности.

Редактировать: это действительно зависит от вашей цели.Если вы хотите получить максимальный код или, соответственно, «функциональное» покрытие с помощью модульных тестов, то весь ваш дизайн должен быть подготовлен к этому.

Конечно, иногда легко использовать реальную функциональность этого «библиотечного вызова» (когда вы можете легко проверить результаты).Но, имея реальный холст и выполняя «реальный рисунок», вам, вероятно, потребуется довольно много «среды» для любого вида тестирования.Поэтому я лично попытался бы изолировать всю свою логику, чтобы ее было легко проверить, а затем убедиться, что у меня есть эффективные средства для последующего тестирования конечного результата.

...