Кейс юнит-тестирование (YaxUnit) в Infostart MagicInput

16.07.26

Задачи пользователя - Поиск данных

Как мы пришли к Юнит-тестированию и почему стоит его использовать. Использование универсальных тестов для проверки работы IS MagicInput в вашей конфигурации.

В 2026 году вышел продукт Infostart MagicInput, расширяющий механизм ввода по строке в 1С. Ключевая функциональность строится на переопределении обработчика ОбработкаПолученияДанныхВыбора. Для проверки логики подбора предусмотрен метод ПолучитьДанныеВыбора(), который программно эмулирует запрос данных — это делает код удобным для юнит-тестирования. Также важно учитывать, что данный обработчик является критическим: любая ошибка в нём приводит к аварийному завершению сеанса 1С, поэтому покрытие тестами здесь становится не рекомендацией, а обязательным требованием.

Для автоматизации тестирования был выбран инструментарий YaxUnit (прекрасный инструмент, рекомендую). За первые два часа было написано около 30 тестов, в дальнейшем их количество выросло до более 70, при этом сами тесты стали более детальными и глубже проверяли результаты. Важно отметить, что все тесты жёстко привязаны к тестовой конфигурации и корректно отрабатывают только в ней, поэтому перед выпуском релизной версии они полностью удаляются из поставки.

 

 

 

Значительная часть тестов появилась после обнаружения ошибки и последующего разбора её причин. На практике оказалось очень удобно разрабатывать по схеме TDD — сначала пишется тест, затем код. Такой подход позволил быть значительно более уверенным в доработках, проводить крупный рефакторинг и реализовывать сложные изменения с твёрдой гарантией, что всё продолжает работать корректно. Именно об этом мне ранее рассказывали на конференциях коллеги, которые уже пришли к полноценному тестированию в своих проектах, но ранее я это не принимал и не понимал, пока не столкнулся с этим на собственном опыте.

Теперь уже при разработке нового функционала сразу пишу тесты, которые его проверяют. Это вошло в привычку и стало неотъемлемой частью рабочего процесса — тесты пишутся параллельно с основным кодом или даже на шаг вперёд, что позволяет сразу отсекать ошибки на ранних этапах. Хорошо, когда юнит-тесты пишутся сразу, и вдвойне хорошо, когда проект под это подходит — как MagicInput.

На практике тесты показали свою эффективность в предотвращении ошибок: продукт стал стабильнее, регрессии перестали возникать неожиданно. То, что раньше требовало часов ручного тестирования и отладки, теперь отлавливается за секунды автоматическим прогоном.

 

Универсальные тесты

Решение универсальное и устанавливается на множество конфигураций, в каждой из которых могут быть свои обработчики и особенности. Появилась идея дать возможность пользователю проверить работу на тестовой базе на своих объектах, чтобы на раннем этапе выявить потенциальные проблемы до внедрения в боевую среду. На этом этапе делаю первые шаги: реализовал поиск по полному наименованию и коду, проверяю, чтобы обработчик не падал с ошибкой и укладывался в тайминги — 0,5 секунды для перечислений и 2 секунды для остальных объектов. Тестов будет столько, сколько объектов в вашей конфигурации, — вы можете установить YaxUnit и просто прогнать их на своей базе.

 

 

При необходимости разработчик может подкорректировать тесты (модуль ИВВ_ТестыУниверсальные) или тайминги под свои реалии — сейчас они сделаны минимально, чтобы уменьшить ложные срабатывания.

Вступайте в нашу телеграмм-группу Инфостарт

Поиск Infostart MagicInput YaxUnit

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Информационная безопасность Поиск данных ServiceDesk, HelpDesk Журналы и реестры данных 1С 8.3 Россия Бухгалтерский учет Бюджетный учет Налоговый учет Управленческий учет Платные (руб)

Полный контроль над изменениями в 1С без нагрузки на вашу базу. Мгновенный доступ к истории изменений, удобное сравнение и откат данных в один клик. Простой отчет с визуальным отображением изменений Откат на любую версию объекта в два клика История изменения данных хранится во внешней базе

180000 руб.

05.09.2025    5061    2    1    

3

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4746    16    1    

20

DevOps и автоматизация разработки Тестирование QA Программист Пользователь 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.35.48.

5000 руб.

05.08.2024    6340    42    1    

20

SALE! 15%

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 20740 руб.

27.10.2017    46896    32    15    

50

Учетные задачи Поиск данных Подбор и обработка объектов 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

1.обработка позволяет автоматически вычислить дубли и привести их к единому наименованию во всех документах. 2.так же есть возможность в документах поменять счета учета для номенклатуры. Например разные бухгалтера оформляют поступление одного и того же товара - один занес на 10.01, второй на 41.01 в результате в ОСВ у нас минусы. В обработке есть возможность наглядно увидеть такие ошибки и тут же их поправить не бегая по всем документам. Достаточно поставить галочку у номенклатуры и указать счет учета который надо найти и счет учета на который надо его заменить. Обработка сама вычислит документы в которых номенклатура с галочкой была задействована и заменит счета учета. Что бы не было излишнего изменения документов, в обработке указываются типы документов, где операция замены счета разрешена (например Поступление ТМЦ, Реализация, Отчет о розничных продажах, возврат покупателю итд.)

7320 руб.

05.06.2026    472    2    0    

4

Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

За последний год YAxUnit заметно вырос: обновилась документация, запуск тестов в EDT стал практически мгновенным, появился редактор для режима 1С:Предприятие, инструменты для подготовки тестовых данных и подключение к ИИ через MCP-сервер для проверки и улучшения кода. Расскажем о том, какие свежие возможности YAxUnit позволяют сделать модульное и интеграционное тестирование в 1С быстрым, эффективным и комфортным.

26.01.2026    6000    Жолтокнижниг    19    

29

Тестирование QA Программист Бесплатно (free)

С Docker мы можем попробовать новые подходы, освоить современные инструменты и сделать тестирование 1С более эффективным. Расскажем об особенностях тестирования в Docker-контейнерах и решении проблем, которые могут при этом возникнуть.

20.01.2026    5214    TaGolovkina    14    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. booksfill 20.07.26 10:12 Сейчас в теме
YaxUnit (прекрасный инструмент, рекомендую) - охотно верю, что это прекрасный инструмент. И, вообще, большая благодарность тем, кто прилагает усилия в данном направлении.

Но можно узнать, из каких соображений вы пошли на риск выбора open source решения?
Хотелось бы понять как вы оценивали риски того, что проект может потерять поддержку в любой момент?

И, нет, это не срытая критика, у нас действительно возникают подобные проблемы.
Т.к. выделять значительное время на самостоятельную поддержку заброшенных (это я ни в коем случае не про YaxUnit) решений нежелательно.
Равно как и оказаться в ситуации, когда затраченные усилия на создание тестов оказываются сначала слегка, а потом полностью out of date.

Согласен, лучше иметь хоть какие-то тесты, чем вообще никаких. Но все же?
2. Техподдержка 20.07.26 10:23
(1)
"Но можно узнать, из каких соображений вы пошли на риск выбора open source решения?
Хотелось бы понять как вы оценивали риски того, что проект может потерять поддержку в любой момент?"

То что он умеет мне уже более чем достаточно. Тесты не сложно будет перевести на другой инструментарий думаю это как раз задача с которой бы неплохо справился ИИ.
Для отправки сообщения требуется регистрация/авторизация