Кейс юнит-тестирование (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% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

6000 руб.

25.02.2026    6659    23    1    

25

Файловый обмен (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 руб.

27.10.2017    47838    33    15    

51

Поиск данных Системный администратор Разработчик 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Платные (руб)

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

13420 руб.

14.05.2012    173730    360    253    

591

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

Возможность по ИНН контрагента быстро найти Партнера с которым связан контрагент.

7015 руб.

11.09.2025    1472    1    0    

3

НДС 22% Поиск данных Регламентированный учет и отчетность Взаиморасчеты Учет доходов и расходов Анализ учета Учет документов Аналитик Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Платные (руб)

🔍 Обработка предназначена для быстрого анализа входящего НДС по документам поступления. Она позволяет увидеть, какие ставки НДС применены в каждом документе, выявить ошибки в их использовании и проконтролировать корректность учета.

6100 руб.

06.07.2026    556    1    0    

2

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Разработчик 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    12326    KatanaDragon511    30    

40

Инструменты администратора БД Инструментарий разработчика Тестирование QA Системный администратор Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)

В экосистеме 1С давно живут сотни инструментов: от Конфигуратора и Хранилища до систем тестирования, мониторинга, интеграции и CI/CD. Я собрал их в Ландшафт технологий, а теперь добавляю данные о реальном использовании. Рассказываю, как устроена карта, что показал первый опрос и почему в новой волне особенно нужны администраторы, аналитики и тестировщики.

01.09.2026    2852    mrXoxot    6    

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

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

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

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

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