Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как писать unit тесты для методов возвращающих PDF файл ? / 17 сообщений из 17, страница 1 из 1
11.12.2019, 12:00
    #39901131
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
Как писать тесты для методов возвращающих PDF файл ? Или еще какую-то сложную сущность - например большой текстовый файл и т.д.

Если писать Unit тест на части алгоритма, то как нам это гарантирует, что весь алгоритм правильно работает ?

Проверять на размер сгенеренного файла или даже на построчное совпадение текстового файла ?
...
Рейтинг: 0 / 0
11.12.2019, 12:22
    #39901157
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore,

Разделяете и властвуете. Метод, который возвращает PDF файл тестируется на сам факт возрата нужных данных, при этом полученные данные не тестируются, даже файла может не быть.

Сервис, который создаёт PDF тестируется отдельно, обычно не нужно тестировать правильную генерацию PDF, так как скорее всего вы используете стороннюю библиотеку для генерации PDF и она должна быть протестирована разработчиком. Не нужно тестировать чужие либы.
...
Рейтинг: 0 / 0
11.12.2019, 12:24
    #39901160
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
Ты имеешь в виду проверить что возвращенный файл совпадает с ожидаемым? Ну, например, я бы через это сделал: HashAlgorithm Class
...
Рейтинг: 0 / 0
11.12.2019, 12:27
    #39901165
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
fkthat
Ты имеешь в виду проверить что возвращенный файл совпадает с ожидаемым? Ну, например, я бы через это сделал: HashAlgorithm Class
И любое обновление либы, генерирующей PDF, провалит тест.
...
Рейтинг: 0 / 0
11.12.2019, 12:33
    #39901168
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
Shocker.Pro, fkthat,

Согласен. Такое не подходит. Изменение хотя бы 1 бита поменяет весь хэш. А 1 битом может оказаться любая вставка временного штампа.

Т.е. как я вижу, нужен какой то интеллектуальный парсер. Фактически нужно сверять сгенеренный текст по строчно.
...
Рейтинг: 0 / 0
11.12.2019, 12:35
    #39901173
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
Shocker.Pro
fkthat
Ты имеешь в виду проверить что возвращенный файл совпадает с ожидаемым? Ну, например, я бы через это сделал: HashAlgorithm Class
И любое обновление либы, генерирующей PDF, провалит тест.


+1, такие тесты создадут только проблемы
...
Рейтинг: 0 / 0
11.12.2019, 12:36
    #39901175
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
Т.е. как я вижу, нужен какой то интеллектуальный парсер. Фактически нужно сверять сгенеренный текст по строчно.


Зачем? Что именно вы хотите протестировать?
...
Рейтинг: 0 / 0
11.12.2019, 12:45
    #39901183
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
hVostt,

На данный момент мой алгоритм генерит довольно большой объем текста.
В процессе создается промежуточная объектная модель. А затем эти объекты преобразуются в текст (через ToString) конструктором.

Причем у этого конструктора довольно сложная логика.

Например объект HelloWorld генерит строку "Привет Мир". А объект SayGoodbye может написать "ну шо, я пошел ?" или "до свидания" в зависимости от установленного свойства "bool ПоПацански?".

Так вот сам генератор использует эти мелкие объекты и добавляет своей логики. Он может обернуть в скобочки что-то, где то сделать ToTitleCase.

В итоге мне нужно протестировать итоговый документ, который может состоять из объемного текста.
...
Рейтинг: 0 / 0
11.12.2019, 12:52
    #39901187
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
Проверять на размер сгенеренного файла или даже на построчное совпадение текстового файла ?

Если pdf, то надо по идее тестить разметку, чтобы ничего не слиплось и не съехало. А это уже проверка двух картинок на схожесть.
WaspNewCore
Т.е. как я вижу, нужен какой то интеллектуальный парсер

Если у тебя тупо txt, то там нечего проверять. Если pdf, то парсер может спарсить тебе весь текст, а по факту там ничего не видно.
...
Рейтинг: 0 / 0
11.12.2019, 12:53
    #39901188
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore,

Так выхлоп своего парсера тестируй отдельно, он никакого отношения к пдф не имеет.
...
Рейтинг: 0 / 0
11.12.2019, 12:54
    #39901189
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
На данный момент мой алгоритм генерит довольно большой объем текста.
В процессе создается промежуточная объектная модель. А затем эти объекты преобразуются в текст (через ToString) конструктором.

Причем у этого конструктора довольно сложная логика.

Например объект HelloWorld генерит строку "Привет Мир". А объект SayGoodbye может написать "ну шо, я пошел ?" или "до свидания" в зависимости от установленного свойства "bool ПоПацански?".

Так вот сам генератор использует эти мелкие объекты и добавляет своей логики. Он может обернуть в скобочки что-то, где то сделать ToTitleCase.

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


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

Если у вас генерация PDF содержит логику извлечения данных и формирования структуры, то всё печально, тестировать это будет сложно.

Т.е. у вас должна быть полностью готовая и наполненная Model, которая передаётся в функцию генерации PDF, которая берёт шаблон PDF и заполняет его данными из полученной структуры.

Таким образом достаточно тестировать правильную генерацию Model, а не полученный PDF, так как у вас нет задачи испытывать алгоритмы генерации PDF, если конечно вы их не полностью сами писали. Но и тогда, их нужно тестировать совершенно отдельно .
...
Рейтинг: 0 / 0
11.12.2019, 12:55
    #39901191
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
crutchmaster
Если у тебя тупо txt, то там нечего проверять.


Так как раз таки есть чего. Проверить итоговый текст же !
...
Рейтинг: 0 / 0
11.12.2019, 12:58
    #39901193
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
hVostt
если конечно вы их не полностью сами писали.


Дело обстоит именно так. Алгоритм генерации модели и алгоритм ее конвертации сам писал. Нужно протестировать обе эти части.

Как протестировано сгенеренную объектную модель то понятно. А вот итоговый результат в виде текста, получается, нужно проверять на точную генерацию видимо. Это то мне и не нравится.
...
Рейтинг: 0 / 0
11.12.2019, 13:06
    #39901200
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
Так как раз таки есть чего. Проверить итоговый текст же !

И что, есть какая-то проблема в том, чтобы сравнить две строки?
...
Рейтинг: 0 / 0
11.12.2019, 13:21
    #39901213
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
Дело обстоит именно так. Алгоритм генерации модели и алгоритм ее конвертации сам писал. Нужно протестировать обе эти части.


Тестируйте отдельно независимо от данных.

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


Протестируйте обе части вашего решения отдельно.
Если хотите в комплексе, вам придётся сопровождать ваши тесты, это может быть дорого.
...
Рейтинг: 0 / 0
11.12.2019, 13:36
    #39901225
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
Shocker.Pro
fkthat
Ты имеешь в виду проверить что возвращенный файл совпадает с ожидаемым? Ну, например, я бы через это сделал: HashAlgorithm Class
И любое обновление либы, генерирующей PDF, провалит тест.

Конечно провалит. Потому что если имеем: "наш тест -> наш компонент -> чужая либа", то это неправильно. А по-правильному: "наш тест -> наш компонент -> наш мок чужой либы". Из исходного посыла непонятно что автору надо.
...
Рейтинг: 0 / 0
11.12.2019, 13:38
    #39901227
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как писать unit тесты для методов возвращающих PDF файл ?
WaspNewCore
Дело обстоит именно так. Алгоритм генерации модели и алгоритм ее конвертации сам писал. Нужно протестировать обе эти части.

А при чем тут ПДФ вообще?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как писать unit тесты для методов возвращающих PDF файл ? / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]