Вставить картинку в html отчет unittest-а

84
15 августа 2019, 04:40

Возможно ли вставить картинку (некоторой функции) в отчет unittest-а?

Для моей задачи очень полезно для отладки представить данные графически. Сейчас, в случае провала сравнения, по специальному флагу командной строки, я показываю окно pyplot-а. Однако, при автоматическом прогоне тестов эти картинки, понятно, никуда не попадут, а хотелось бы их увидеть.

Для форматирования вывода тестов я сейчас использую HTMLTestRunner, но готов рассмотреть и другие runer-ы, если это упростит поставленную задачу.

Answer 1

В оригинальной структуре объектов unittest-а, не предусмотрен отдельный канал для текстовых сообщений. Все HTML-run-ы перехватывают вывод программы в стандартные потоки вывода и печатают соответствующий текст в HTML. Отдельным потоком вывода для форматированного текста никто не занимается. Т.е. легального способа добавить html-узел в отчет - нет.

Однако, выход есть: nose, в отличии от других движков, не экранирует специальные символы в тексте отпечатанном внутри тест-кейса, а просто помещает текст внутрь <pre>...</pre>. Таким образом, можно вставить картинку в отчет просто написав:

print( '<img src="{src}"/>'.format( src=path_to_svg ) )

Что, конечно, является эксплуатацией бага, но работает.

READ ALSO
Как добавить редактируемый текст в WordPress 5?

Как добавить редактируемый текст в WordPress 5?

У меня есть сайт на WordPress 5 и при помощи своей темы (в смысле twentyseventeen-child/functionsphp) я вставил в этот сайт HTML5-игру и профили игроков - вот пример...

101
Безопасное хранение пароля

Безопасное хранение пароля

Доброго времени суток

100
Документация на описание формата файла .csproj

Документация на описание формата файла .csproj

В последних версиях Visual Studio 2017 контекстное меню проекта содержит пункт Edit <Projectname>csproj — и это очень удобное дополнение к диалоговому меню...

93