|
Труд вопреки насмешкам
|
|
.NET 8 Что делать, если юнит-тесты выполняются все дольше?13.07.2024, 21:12. Показов 1575. Ответов 21
Метки нет (Все метки)
Например, у меня есть библиотеки Ares F, Ares I и Ares T, которые составляют части единой системы - Ares Tools, и имеют мало смысла в отрыве от этой системы, так что логично их проверять вместе. И вот, сначала тесты только для Ares T (который тогда включал в себя то, что позже стало Ares F) занимали до 8 минут. При добавлении проверок для Ares I уже стало до 19 минут. А сегодня длительность всех проверок на распаковку составила ровно 20 минут! И это - "чистое" время, без учета накладных расходов на работу самой системы тестирования, и также в это время не включен PPM, иначе страшно даже представить, каким будет время прохождения тестов. Что с этим можно сделать? Ответ "уменьшить количество проверок" не принимается. Если убрать тормоза в методах - то в Лемпеле-Зиве они и так убраны, а в BWT главный тормоз - сортировка, и я не знаю, как ее ускорить. Уже и так ускорена многократно. Есть ли какой-то выход?
0
|
|
| 13.07.2024, 21:12 | |
|
Ответы с готовыми решениями:
21
А что вообще такое юнит тесты? Юнит-тесты (к примеру, для слайдера). Что посоветуете? Как сделать так , чтобы если все 3 условия не выполняются , то вывести что то |
|
Администратор
|
|
| 13.07.2024, 22:01 | |
|
Etyuhibosecyu, переписать тесты так чтобы они не занимали столько времени. Ответ в стиле Капитана Очевидность, но ничего другого тут нечего предложить. Если ваши юнит-тесты написаны так же как и бенчмарки, то просто уменьшите размеры данных. В юнит-тестах нет смысла использовать экстремально высокие значения.
0
|
|
|
Труд вопреки насмешкам
|
|||
| 13.07.2024, 22:13 [ТС] | |||
|
Добавлено через 10 минут
0
|
|||
|
Администратор
|
|||
| 13.07.2024, 22:22 | |||
|
0
|
|||
|
14321 / 9411 / 1356
Регистрация: 21.01.2016
Сообщений: 35,481
|
|
| 14.07.2024, 09:17 | |
|
Etyuhibosecyu, по мимо озвученных выше советов еще добавлю, что долгое выполнение тестов не всегда является проблемой. Если тестов много, если данные большие и уменьшить их нельзя. Можно тесты выполнять параллельно. Оптимизировать тесты попробовать. Машину помощнее взять. Или смириться.
В твоем случае я почти наверняка уверен, что тесты адово сделаны и выполняют лишнюю работу, гоняя слишком много данных.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 17.07.2024, 17:10 | ||
|
Юнит-тесты же должны проверять корректность алгоритма. Какая алгоритму разница: 100500х100500 изображение или 20х20?
0
|
||
|
Труд вопреки насмешкам
|
||
| 17.07.2024, 17:17 [ТС] | ||
|
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 17.07.2024, 17:35 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
|||
| 17.07.2024, 17:56 [ТС] | |||
|
0
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 17.07.2024, 18:06 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
|||
| 17.07.2024, 18:10 [ТС] | |||
|
0
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 17.07.2024, 18:36 | |||
|
Т.е. тема не имеет смысла. Хотя, это не важно: для этих методов тоже можно использовать небольшие данные — вы же корректность алгоритма проверяете, а не бенчмарк делаете.
0
|
|||
|
Труд вопреки насмешкам
|
|||||
| 17.07.2024, 18:44 [ТС] | |||||
|
0
|
|||||
|
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
|
|||
| 17.07.2024, 18:47 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
|
| 17.07.2024, 18:49 [ТС] | |
|
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||
| 18.07.2024, 10:29 | ||||
|
Однако, если алгоритм сжатия задыхается на неудобных для него паре сотен байтах, то что-то очень не так с алгоритмом сжатия. Вопрос был про способ выбора метода сжатия в зависимости от передаваемого изображения.
1
|
||||
|
|
|
| 19.07.2024, 15:40 | |
|
Ммм... если ваши алгоритмы не подразумевают разную логику для разрешений 100500х100500 и 1000х1000, возможно стоит сделать следующий финт ушами:
- флаг указывающий что тестируем "по максимум" - на вход сделать как 1000х100, так и 100500х100500 - в процессе разработки проверять урезанным вариантом. - по завершению запускать уже весь прогон. p.s. в идеале юнит тесты должны проверять граничные значения, и мне слабо понятно как это колериюет с объемом. Т.е. сжать полностью одноцветное изображение, из разных пикселей, градиент, шахматным порядком -- кажись это имеет смысл. А скармливать большие объемы уже ближе к бенчмаркам.
1
|
|
|
|
||
| 19.07.2024, 18:27 | ||
|
Тесты - проверяют логику и какие-то критичные моменты. Если блин есть желание проверить огромный файл, то просто нужно взять и скомпилировать консольную программу. Запустить в командной строке, сгенерить огромный файл, потом прочитать из результата (файла) нужные параметры (размеры, заголовки, куски байт и т.п.). Ну а если результат должен быть всегда идентичный, то вообще можно два файла сравнивать. В чём проблема не понятно.
0
|
||
| 19.07.2024, 18:27 | |
|
Помогаю со студенческими работами здесь
20
Подскажите новичку что делать дольше Решение транспортной задачи методом потенциалов: не все тесты выполняются Что делать если удалил все разделы дисков? Что делать, если с сайта воруют все статьи? Что если запрос обрабатывается дольше, чем длина сессии? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|