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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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


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

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

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


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

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


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

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

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


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