Каков наилучший способ для модульного тестирования кода, который генерирует изображения? - PullRequest
4 голосов
/ 15 августа 2010

Каков наилучший способ для модульного тестирования кода, который генерирует изображения?Скажем, например, класс, который генерирует график или диаграмму?

Ответы [ 2 ]

4 голосов
/ 15 августа 2010

Если этот класс использует стороннюю библиотеку для создания графиков / диаграмм (скажем, matplotlib ), то вы можете написать тесты для методов, которые генерируют входные данные для библиотеки. Это будет довольно легко.

Если на выходе получается изображение и вы заинтересованы в проверке его свойств, вам придется копать глубже. Внешние атрибуты изображения (размер, высота, формат и т. Д.) Могут быть легко проверены, но другие, такие как фактическое содержание изображения, будут довольно сложными. ИМХО, это не стоило бы хлопот.

Если выходные данные не являются двоичными (скажем, SVG), то вы можете легко написать тесты, чтобы убедиться, что выходной XML содержит то, что вы ищете.

4 голосов
/ 15 августа 2010

Метод, который я использовал, состоит в том, чтобы сгенерировать файл «хорошо зарекомендовавший себя», сохранить его в дереве исходного кода, а затем выполнить двоичное сравнение с ним в рамках теста.Если содержимое файла совпадает, выходные данные не изменились.

Это не позволяет вам протестировать все возможные комбинации ввода, которые генерируют изображение, но полезно для базовых регрессионных тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...