xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8

27.11.17

Разработка - Тестирование QA

xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. Позволяет тестировать в разных режимах обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. Любые наборы тестов могут прогоняться в полностью автоматическом режиме. Автозапуск используется в различных build-серверах в системах Continuous Integration. Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. В статье я кратко описал историю продукта + вставил небольшое описание различных возможностей нашего фреймворка + список полезных статей/примеров/видео, обучающих/рассказывающих о практическом применении инструмента

Для быстрого входа рекомендую почитать статьи или посмотреть видео или Посмотрите Wiki

xUnitFor1C работает с любыми конфигурациями, полностью независима, но может быть встроена в конфигурацию. Работает как в Windows, так и в Linux.

Тесты могут быть как во внешних обработках, так и во встроенных обработках.

Любые наборы тестов могут прогоняться в полностью автоматическом режиме через специальную командную строку запуска. Автозапуск используется в различных build-серверах в системах Continuous Integration.

Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода.

Почитайте короткую инструкцию по установке фреймворка xUnitFor1C

В случае возникновения каких-то проблем при тестировании рекомендуем заглянуть на страницу Известные проблемы при тестировании

Оглавление:

  1. История тестирования в 1С-среде
  2. Статьи
  3. Видео
  4. Использование продукта
  5. Что к чему
  6. Как помочь проекту

История тестирования в 1С-среде 

 Работы по тестированию в 1С начались в сообществе 1С++ для 1С 7.7 еще в далеких 2003-2004 годах.

Я лично пришел в тестирование, когда меня сильно начали напрягать постоянные баги при выпуске новых релизов 1С ++ - одно чиним, другое ломаем. Сначала я начал выполнять работу тестировщика, далее перешел к автоматизации тестировании и непосредственной разработке на С++ для доработки 1С++.

Мной совместно с Федором Езеевым (он не так давно был руководителем отдела тестирования 1С в Яндексе) была создана специальная конфигурация для 1С 7.7 на базе 1С++ для приемочного и юнит-тестирования классов проекта внешней компоненты 1С++. Конфигурация оказалась очень удобной и сильно  помогала в разработке 1С++. За год участники проекта 1С++ написали более 1000 интеграционных тестов для классов/модулей 1С++.

В дальнейшем эта конфигурация не раз была использована в боевых системах. И даже пару лет назад мы ее применили для тестирования legacy-конфигурации розничных точек одного из крупнейших ритейлеров России, хотя и прошло более 8 лет с момента разработки в 77. Затем эта же конфигурации и полученные тесты были использованы для нагрузочного тестирования конфигурации.

Параллельно шла разработка проекта функционального/приемочного тестирования FuncTest (автор Федор Езеев). Основная схема работы - сравнение с образцом/ожиданиями. Мы совместно с Федором серьезно поработали над проектом для доведения до мощного юзабельного поведения.

Но время семерки уходило, приходила восьмерка. Нужно было реализовывать продукты тестирования и для восьмерки.

Я портировал проект FuncTest на 8.1 и 8.2. Так появилась Система тестирования функциональных тестов FuncTest для 1cv8.1 - версия 1.17

А Федор на форуме 1С++ параллельно инициировал работу над проектом модульного/юнит-тестирования, аналог xUnit от Кента Бека для 1С. Совместно мы создали специальную подсистему/конфигурацию для 1С 8.1 - тесты писались во внешних обработках. Этот проект - фактически "папа" нашего продукта. Все было очень удобно, но необходимость использования специальной конфигурации мешало в распространении проекта.

И вот в 2012 году, после первой конференции Инфостарт и моего выступления по методикам разработки/тестирования (если я не путаю), Александр Кунташов неожиданно, без объявление войны Smile взял и доработал продукт до универсального состояния, перенеся весь функционал во внешнюю обработку. Продукт стало возможным использовать в любых конфигурациях 1С, в т.ч. и на полной поддержке.

Так фактически и началась работа над продуктом xUnitFor1C.

Далее в проекте очень важные и активные роли сыграли Алексей Лустин и Евгений Сосна.

Сейчас это полноценный боевой продукт, использующийся в более 30 командах (информация от 2014 года) по России, Украине, Белоруссии.

За 3 года существования открытого проекта xUnitFor1C в него вносили правки аж 18 разработчиков Smile

Сейчас на билд-сервере прогоняется более 4500 тестов проекта в различном окружении, как Windows, так и в Linux.

Статьи

Видео

Использование xUnitFor1C

Запуск тестов из командной строки и получение файлов результатов

Генерация данных

Тесты открытия форм

Примеры тестов:

Скрипт для Snegopat "Добавить описание тестовых случаев текущего модуля в метод ПолучитьСписокТестов" (xUnitAddTestsDesc.js)"

Инструкция для контрибьюторов, т.е. для тех, кто жаждет доработать xUnitFor1C

Что к чему

  • xddTestRunner.epf - браузер и исполнитель тестов для обычного приложения и управляемого приложения 1С:Предприятия 8 (толстый и тонкий клиенты)
  • xddDataFixtureGen.epf - генерация макета данных для использования в тестах. Макет можно генерить из боевой базы на основе реальных данных.
    • Tests - каталог с примерами тестов и с тестами для самотестирования xddTestRunner.epf (подпапка selftests)
    • Tests\CommonApp\тесты_ОткрытиеФормКонфигурации.epf - тесты открытия всех форм справочников, документов, отчетов и обработок. Для справочников и документов в транзакции создаются новые или копируются или перезаписываются существующие элементы.
    • Tests\CommonApp\Тест_ЗапускТестовВСеансеДругихПользователей.epf - примеры запуска тестов для пользователей с ограниченными правами. Пользователи создаются на лету из простых макетов.
    • Tests\CommonApp\Тест_ПроверитьОтчетНаСоответствиеЭталону.epf - пример теста отчета путем сравнения с эталонным ожиданием из макета.

Как помочь проекту

Мы рады любой помощи:

1. Если вы занимаетесь разработкой на 1С:Преприятии 8 пробуйте писать и выполнять тесты при помощи xUnitFor1C, сообщайте нам об обнаруженных ошибках, пишите пожелания. Для управления сообщениями об ошибках и пожеланиями мы используем баг-трекер GitHub'а.

2. Если у вас есть время разобраться в исходном коде, вы можете взять на себя реализацию одной из открытых задач.

3. Если вы уже используете xUnitFor1C на практике, напишите об этом статью, например, на Инфостарте.

Инструкция для контрибьюторов, т.е. для тех, кто жаждет доработать xUnitFor1C

xUnitFor1C xUnit тестирование TDD BDD сценарий поведение

См. также

Тестирование QA DevOps и автоматизация разработки Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.16.115.

2220 руб.

04.07.2022    7576    38    1    

25

Тестирование QA DevOps и автоматизация разработки Программист Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

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

1728 руб.

20.01.2022    7156    17    0    

11

Тестирование QA DevOps и автоматизация разработки Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Набор универсальных подсценариев для заполнения форм типовых объектов справочников и документов конфигураций ERP 2.5 и КА 2.5. Сценарии представляют собой feature-файлы для vanessa-automation с тегом @exportscenarios. Используются для разработки функциональных сценариев.

1500 руб.

26.01.2023    3483    6    0    

3

Тестирование QA Программист Платформа 1С v8.3 Бесплатно (free)

Иногда возникают ситуации, когда надо развернуть тестовую базу клиента / свою на серверах Windows или Linux. Тестовые базы могут понадобиться в разных ситуациях: у клиента ошибка, на нашей базе она не воспроизводится, реализуем новый функционал и хотелось бы протестировать на Linux и т.д. А теперь представим, что это все на потоке. Что тестовых баз 1С не одна, а 20-30. И получаем проблему, что непонятно, занята она сейчас кем-то или нет. Предлагаю вариант решения этой проблемы.

28.06.2024    908    Diversus    12    

4

Тестирование QA Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка с простым и понятным интерфейсом позволяет выполнить нагрузочное тестирование системы: появляется возможность понять, сколько документов записывается / проводится группой пользователей в текущей информационной системе и сколько будет проводиться / записываться в другой информационной системе. Таким образом, можно оценить потенциальный прирост производительности от перехода в другую систему по сравнению с текущей информационной системой (переход на новый сервер, переход от файловой базы к серверной и т.д.). Автоматизация нагрузочного тестирования базы 1С.

5 стартмани

08.04.2024    1533    4    user1527257    1    

5

Тестирование QA Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье мы рассмотрим имитацию действий пользователя 1С и протоколирование тестов в инструменте 1С: Тестировщик.

14.03.2024    1827    Koder_Line    1    

11

Тестирование QA Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

1С: Тестировщик позволяет создавать и модифицировать тесты для проверки функциональности программного обеспечения, гарантируя надежность и стабильность приложений. В данной статье будет рассмотрен процесс написания и модификации тестов в конфигурации системы 1С: Тестировщик, а также основные принципы и методики, которые помогут тестировщикам эффективно использовать этот инструмент для обеспечения качества программных продуктов.

23.01.2024    1026    Koder_Line    1    

4

Тестирование QA Программист Абонемент ($m)

Заметка о том, как использовать Allure с self-hosted Gitlab, чтобы быстро и с минимальными усилиями получить удобные отчёты о результатах тестирования и навигацию внутри них.

1 стартмани

11.01.2024    3554    comptr    4    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1256 13.11.15 15:51 Сейчас в теме
2. artbear 1558 13.11.15 16:16 Сейчас в теме
Специальный релиз - в пЯтницу 13 :)
3. artbear 1558 13.11.15 16:21 Сейчас в теме
Еще интересный факт о нашем проекте:
на днях на HeadHunter появилась вакансия, в требованиях к кандидату значится знание xUnitFor1C :)

У вакансии отличная формулировка, отличающаяся от стандартных формулировок.
Приветствуются полезные знания:
- юнит тестирования
- git
- xUnitFor1C
- TDD
- генерации документации по коду
Вообще хорошо, если 1С это не первый рабочий язык, а есть опыт работы в промышленной разработке.
4. lustin 13.11.15 18:50 Сейчас в теме
(0) Мою фамилию и видео уберите пожалуйста. ;-)

Если уж так старательно меня НЕ упоминал, то тогда убери вообще.




7. artbear 1558 15.11.15 19:13 Сейчас в теме
(4) Алексей, историю проекта я специально описал очень крупными вехами, чтобы не слишком большая статья получилась.
Конечно, упомянул не всех :( в первую очередь, тебя и Женю Сосну (pumbaE). Извиняйте.

Буду рад, если ты и Женя дополните эту историю.

ИМХО будет интересно составить общий рассказ-историю.
9. lustin 15.11.15 21:50 Сейчас в теме
(7) Да это уже и не важно теперь.

Странно что ты "случайно" забыл ссылку на мой github аккаунт. Выглядит некрасиво - поэтому прошу убери фамилию из статьи.
10. artbear 1558 16.11.15 09:07 Сейчас в теме
(9) Конечно, я его не забыл, а специально не указал, т.к. ты человек в среде 1С известный и ИМХО тебе не требуется специальных ссылок :)
Не думал, что это тебя так заденет :(
11. artbear 1558 16.11.15 13:26 Сейчас в теме
(9) Извини, оказывается, я указал твою фамилию без имени, некрасиво получилось :(
Добавил имя + ссылку.
PS копипаст = зло :(
13. zarucheisky 17.11.15 15:49 Сейчас в теме
(9)(10) Вы еще по-деритесь :)
5. kuntashov 449 15.11.15 01:58 Сейчас в теме
(0)
И вот в 2012 году, после первой конференции Инфостарт и моего выступления по методикам разработки/тестирования (если я не путаю), Александр Кунташов неожиданно, без объявление войны Smile взял и доработал продукт до универсального состояния, перенеся весь функционал во внешнюю обработку.


Ну если нужны какие-то более-менее точные вехи, то вот как-то так это было:



:)

В тот же день я тебе что-то отослал, ты как всегда наткнулся на кучу багов, какое-то время я это исправлял, а потом 29 ноября 2012 года, если верить githab'у, создал репозиторий (тогда еще 1CUnit),

А потом пошло-поехало: буквально через несколько дней присоединился к проекту Григорий Пташко (ему про нас рассказал Женя Сосна) и начал адаптацию под УФ, потом присоединился ты и пошло-поехало: с Лешей создали отдельную организацию на гитхабе (xDD - https://github.com/xDrivenDevelopment), я все, что сделали, передал туда, потом нас (кажется, Аристархов через Лешу) попросили не использовать приставку 1С (как раз 1С опубликовала правила), Леха согласовал "наверху", что вместо нее можно дописать "For1C" и мы переименовали проект в xUnitFor1C.

И вот теперь мы здесь :)
Прикрепленные файлы:
pbabincev; cleaner_it; artbear; JohnyDeath; +4 Ответить
6. lustin 15.11.15 12:13 Сейчас в теме
(5) Еще Палыч веселился на 1С++ тоже
JohnyDeath; kuntashov; +2 Ответить
8. artbear 1558 15.11.15 19:20 Сейчас в теме
(5) Саша, прикольно, оказывается, ты мне на мой день рождения подарок сделал :)

Насчет названия xUnitFor1C - Андрей Аристархов написал мне по названию 1CUnit, я уточнил, какой вариант устроит, был предложен суффикс for1C, я вышел на всех участников проекта (тебя, Алексея, Женю, Григория). Далее совместно мы решили поменять название на xUnitFor1C
pbabincev; kuntashov; +2 Ответить
12. Кузьмич 188 17.11.15 15:36 Сейчас в теме
недавно ткнули носом в ваш продукт (за что благодарен). всю жизнь тестировали вручную.
попробуем...
14. Кузьмич 188 17.11.15 16:06 Сейчас в теме
тестирую тестировщик
*стандартная УПП (свежий релиз). Тест на открытие форм. Ошибок масса :)
интересно, в общем.
15. Adept 23.11.15 10:08 Сейчас в теме
Народ, подскажите 4-ю верcию уже можно использовать(в частности интересует сценарное тестирование(ui))?
16. JohnyDeath 301 23.11.15 22:19 Сейчас в теме
(15) Adept, может про сценарное тестирование лучше вот сюда: https://github.com/silverbulleters/vanessa-behavior ?
17. artbear 1558 27.11.15 10:31 Сейчас в теме
(15) 4ю версию, конечно, можно использовать.
сценарное тестирование в ней также работает.
19. JohnyDeath 301 15.01.16 20:53 Сейчас в теме
(17) Артур, а почему 4-я версия до сих пор в отдельной ветке и даже не в drvelop?
Или же решили 4-ю версию отдельным продуктом сделать?
18. tivanitsky 18 14.01.16 17:53 Сейчас в теме
Спасибо за хороший продукт, ребята! :-)
Он мотивировал меня перейти к разработке через тесты.
20. BlizD 1033 03.06.16 11:22 Сейчас в теме
Добрый день.

Испытываю уверенность, спокойствие и мощное эстетическое удовольствие, когда все тесты горят зеленым, хотя до этого сделал серьезный рефакторинг метаданных.
Прям ощущается магия какая то=)

Большое спасибо за разработку.
21. artbear 1558 03.06.16 14:41 Сейчас в теме
(20) Да, зеленая полоса очень мотивирует и вдохновляет - это известный факт.

Спасибо за отзыв.

PS помни, что никакое тестирование никогда не найдет все ошибки !
22. BlizD 1033 03.06.16 14:59 Сейчас в теме
(21)

"PS помни, что никакое тестирование никогда не найдет все ошибки !"

да это помню и понимаю, но как минимум то, что проверял бы руками можно зашить в тесты.
Ну и на каждый баг, тоже делать тесты, тогда таких не найденных ошибок будет меньше.
23. artbear 1558 04.06.16 11:38 Сейчас в теме
(22) BlizD, да, конечно, ты описываешь правильный путь.
24. Diversus 2324 15.06.16 15:49 Сейчас в теме
(23) Артур, приветствую! Я так понимаю избавляться от модальности xUnitFor1C не хочет? Когда ориентировочно планируется поддержка асинхронности и отказ от модальности?
25. artbear 1558 16.06.16 20:09 Сейчас в теме
(24) Привет, Виталий.
Планируется, но по срокам сложно сказать. open-source :)
Если кто-нибудь доработает этот функционал, буду очень рад.

Тем более, что сейчас при использовании плагинов, переделка уже не так трудоемка.
26. kraynev-navi 652 25.07.16 11:13 Сейчас в теме
Несколько вопросов в контексте сценарных тестов.
Не совсем до конца понимаю как все-таки делать правильно.
Задача.
Создаю из макетов цепочку тестовых документов. Скажем, поступление, две последовательных корректировки, формирование записей книги покупок (для БП).
Провожу, заполняю, провожу, сравниваю с эталонными значениями.
Правильно ли делать так или есть более верная методика?

0. Удаляются ранее созданные документы (Подсмотрено у acsent из http://infostart.ru/public/517549/ )
1. Создаю из макетов цепочку тестовых документов. Поступление, две последовательных корректировки, формирование записей книги покупок (для БП).
2. Провожу документ корректировки. Проверяю (тест)
3. Провожу второй документ корректировки. Проверяю (тест)
4. Делаю заполнение формирования. Проверяю (тест)
5. Делаю проведение формирования. Проверяю сверкой с эталоном (тест)

Если тест падает в начальных пунктах, скажем в 2, то смысла делать 3-5 нету.
По факту сценарный тест идет до конца, что занимает время и идет в разрез с утверждением, что тесты должны идти быстро.
Почему, кстати, он идет до конца? Ведь
на странице https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%A1%D1%86%D0%B5%D0­%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%8B---%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8-%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B5-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82­%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D1%88%D0%B0%D0%B3%D0%BE%D0%B2
например. если в одном из шагов теста будут ошибки, все остальные шаги/тесты будут выполнены и до последнего теста дело не дойдет. Следовательно, операция завершения выполнена не будет.

Версия xUnit1C 4

p.s. В статье ссылка на сценарное тестирование ведет на главную вики. Кстати, некоторые примеры в вики ведут на 404-ю. Вероятно, сказывается переход к 4.0.
27. artbear 1558 25.07.16 16:09 Сейчас в теме
(26) kraynev-navi,
В доке по указанной ссылке написано самое важное
Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт

    НаборТестов.НачатьГруппу("Тестовый сценарий", Истина); // ВОТ ЗДЕСЬ
    НаборТестов.Добавить("ТестДолжен_СохранитьКонтекст");
    НаборТестов.Добавить("ТестДолжен_ПроверитьСохраненныйКонтекст");

КонецПроцедуры


у тебя такой код используется для создания сценарных тестов?

В статье ссылка на сценарное тестирование ведет на главную вики.

Исправил.

Кстати, некоторые примеры в вики ведут на 404-ю. Вероятно, сказывается переход к 4.0.

Подскажи, какие ссылки неверные, поправлю.
Спасибо, жду.
28. kraynev-navi 652 25.07.16 16:26 Сейчас в теме
(27) Истину-то я и не приметил, походу из третьей версии переносил. С истиной, работает, спасибо!
Про битые ссылки, бегло вот:
https://github.com/xDrivenDevelopment/xUnitFor1C/wiki/%D0%93%D0%B5%D0%BD%D0­%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
ссылка с Пример кода тестов генерации данных (из репозитария)
как буду еще читать вики, перечень тогда составлю.

Вопрос еще был:
Правильно ли делать так или есть более верная методика?
29. artbear 1558 25.07.16 21:16 Сейчас в теме
(28) kraynev-navi,
ссылка с Пример кода тестов генерации данных (из репозитария)

Спасибо. Исправил обе ссылки.

Правильно ли делать так или есть более верная методика?

Для xUnitFor1C 4.X это правильная методика.
30. vsbronnikov 80 07.02.17 12:00 Сейчас в теме
Подскажите как Вы запускаете 1С из командной строки linux (у которой не установлено графического окружения)?
31. artbear 1558 07.02.17 14:44 Сейчас в теме
(30) А как без графического интерфейса запускать 1С, которая является графической системой :) ??
или речь только о регламентных заданиях ?
32. vsbronnikov 80 07.02.17 18:20 Сейчас в теме
Нет. Речь идет о запуске 1С (в частности конфигуратора) из командной строки в пакетном режиме. Передал параметры командной строке типа "Выгрузить *.dt" или "Обновить конфигурацию из хранилища". 1С выполнил и закрылся.
33. Alligator84 74 31.10.17 07:51 Сейчас в теме
Всем привет, инструмент действительно крутой!
Спасибо всем разработчикам и участвующим.
У меня вызывает стопор один момент.
Делаю так: создаю обработку с перечнем тестов, переменными в процедурах из модуля формы и открываю её в xddTestRunner.
Вопрос: как протестировать код из модуля формы, а точнее передать значение переменных?
Это пока главный стопор в начинаниях по переходу на написания кода через TDD.
Возможно, я не понял принцип тестирования/инструмента.
Буду благодарен за помощь.
34. artbear 1558 31.10.17 10:22 Сейчас в теме
(33) Читаем офиц.доку, открывая сайт https://github.com/xDrivenDevelopment/xUnitFor1C
и находя строку "Для быстрого входа рекомендуем", далее в этом предложении есть ссылка для быстрого входа :)
35. Alligator84 74 31.10.17 11:19 Сейчас в теме
(34) Артур, спасибо за отклик. Ещё раз перечитаю.
Активно читаю последнее время.
Накапливаются вопросы когда переносишь теорию на практику.
38. ImHunter 320 27.11.17 08:59 Сейчас в теме
(33) (34) Для тестирования кода модуля упр формы - быстрый вход как-то неявно описан:) С третьего-четвертого захода нашел, как это делается.
Смысл в том, что список тестов и сами тесты можно писать и в коде упр. формы обработки (ссылка). Причем, и в модуле самой обработки - тоже можно свой список и тесты писать. И тогда будут видны два списка тестов.
39. artbear 1558 27.11.17 10:49 Сейчас в теме
(38) Да, в этой статье я этот момент пропустил.
Но на официальном сайте есть дока с примерами.

Создание файлов-тестов

Примеры тестов
40. artbear 1558 27.11.17 10:54 Сейчас в теме
(38) Добавил ссылку на примеры тестов для управляемой формы в статью.
41. akivvika 20.02.18 11:09 Сейчас в теме
(40) Добрый день! Подскажите пожалуйста по такому вопросу: если у меня есть юнит-тест написанный в модуле управляемой формы но для него мне необходимы данные из макета.
Загрузка данных производится из макета на клиенте.
Есть
&НаСервереБезКонтекста 
Процедура ПередЗапускомТестаНаСервере()
	НачатьТранзакцию();	
КонецПроцедуры

Есть
&НаСервереБезКонтекста 
Процедура ПослеЗапускаТестаНаСервере()
    Если ТранзакцияАктивна() Тогда
        ОтменитьТранзакцию();
    КонецЕсли;
КонецПроцедуры

Но после выполнения шагов транзакция уже не активна и соответственно не откатывается.
Судя по всему для отката транзакции весь код должен выполняться не сервере. А как тогда быть в таком случае?
42. artbear 1558 20.02.18 16:51 Сейчас в теме
(41) При работе в Упр.форме * транзакции не возможен, т.к. работа идет на клиенте, а транзакция возможна только при вызове внутри серверного кода.
Вывод:
+ либо удаляем созданные данные вручную
+ либо вообще их не удаляем :)
43. akivvika 20.02.18 16:54 Сейчас в теме
(42) Ну вообщем то так и пришлось сделать - удалять созданные данные. Спасибо!
36. VickWood 02.11.17 11:10 Сейчас в теме
Добрый день!
А подскажите, можно как-то протестить отдельную внешнюю обработку? Или обработка должна быть встроена в конфу и тогда уже тестировать всю конфигурацию?
37. artbear 1558 26.11.17 17:33 Сейчас в теме
(36) Пропустил Ваше сообщение.

Конечно, можно протестировать отдельную внешнюю обработку.
Это несложно.
44. Vladimir Litvinenko 2888 12.06.18 01:58 Сейчас в теме
(37)
Цитата из публикации:
xUnitFor1C работает с любыми конфигурациями, полностью независима, но может быть встроена в конфигурацию


Есть ли где-то информация, как использовать xUnitFor1C как встроенную в конфигурацию подсистему?

Интересует не только использование самой обработки xddTestRunner.epf но и плагинов, например плагина "Настройки.epf".
Столкнулся с тем, что файл, содержащий исключения для тестов, не загружается. Ошибок нет, но тесты не отмечаются как исключаемые. Хотел произвести отладку, но система работы через плагины-внешние обработки приводит к тому, что в тонком клиенте нельзя выполнить пошаговую отладку методов этих плагинов. Например вызова ПлагинНастроек.Обновить(). Отладка по F11 в этом случае не работает должным образом.

Изучению инструмента могло бы помочь встраивание обработок в конфигурацию. В документации к xUnitFor1C сказано что такая возможность есть.

Нашел в коде, что если обработки встроены в конфигурацию, то плагины будут искаться как встроенные обработки, входящие в состав подсистемы конфигурации <ИспользуемыйПрефиксПодсистемы>xUnitFor1C.Plugins. Но создавать эти подсистемы вручную было бы сложно. В то же время в репозитории никаких cf-файлов для объединения с конфигурацией не обнаружил.

Сохранилась ли до сих пор возможность встроить подсистему в тестируемую конфигурацию?
45. artbear 1558 13.06.18 13:35 Сейчас в теме
(44) 1 Встраивание как подсистемы - сложный процесс и у него сейчас очень мало сторонников :(
Я, например, не использую этот механизм вообще.

2 развитие xUnitFor1C ушло в сторону "сводного" продукта ADD (vanessa-add) https://github.com/silverbulleters/add

сам xUnitFor1C пока никто не развивает, все силы мы будем отдавать на ADD

в новом релизе ADD, который будет выпущен на днях, как раз реализован обычный=привычный способ отладки как плагинов, так и самих тестов.

PS кстати, для ADD у нас есть планы сделать расширение в дополнение к варианту на внешних обработках, но эти планы пока довольно отдаленные.
46. пользователь 13.06.18 17:21
Сообщение было скрыто модератором.
...
47. пользователь 13.06.18 17:27
Сообщение было скрыто модератором.
...
48. kirinalex 15 25.03.21 14:20 Сейчас в теме
Есть ли возможность сохранять произвольный запрос, в качестве эталонной таблицы, например в макет?
Чтобы при прогоне теста можно, загрузить из макета в ТЗ и с проверяемой таблицей значений.

Т.е. есть ли функционал "ТЗ в Макет" и "Макет в ТЗ"?
Чтобы в макете при этом хранились уиды, не представления.
49. artbear 1558 25.03.21 14:55 Сейчас в теме
(48) Именно такого функционала нет.

есть отдельная возможность загрузки данных из макета или выгрузки в макет.
и потом уже отдельные возможность сравнения результатов.

лучше на примере расшифруй свою потребность.
50. kirinalex 15 27.03.21 09:34 Сейчас в теме
(49) Например, нужно протестировать функцию которая возвращает таблицу значений
Пока что я начал для этого использовать сериализацию ТЗ через СериализаторXDTO.ЗаписатьXML() или ЗначениеВФайл()
Посмотрю насколько удобно будет
51. kirinalex 15 28.03.21 08:15 Сейчас в теме
Планируете ли вы на кнопку «Сохранить макет данных в файл» добавить сохранение поля «Json документ»? Вижу что в 6.5.5 для него есть создание и загрузка, но нет сохранения.
53. artbear 1558 29.03.21 11:35 Сейчас в теме
(51) Сохранение вроде бы было, неужели нет такой кнопки?
52. kirinalex 15 28.03.21 08:15 Сейчас в теме
Скажите, как работает параметр "Связь по гуид" ?
54. tolyan_ekb 105 01.10.21 15:15 Сейчас в теме
Добрый день. Здесь можно задавать вопрос по ошибке при открытии или есть специальный форум?
55. artbear 1558 05.10.21 11:45 Сейчас в теме
(54) Можно здесь, можно в телеграме https://t.me/vanessa_opensource_chat
можно в ишузах для продукта-наследника Vanessa-ADD https://github.com/vanessa-opensource/add/issues
56. Ibrogim 1319 02.08.23 13:52 Сейчас в теме
Добрый день. Сразу прошу прощения за возможно глупые вопросы. Но прочитал кучу статей и посмотрел кучу видео и поковырял простые тесты, а вопросы остались.

Контекст: Есть сильно нетиповая конфигурация на обычных формах с множеством жизненно важных блоков и большая команда разработчиков
Есть куча ручных и автоматических проверок(тестов) после выкатывания доработок в рабочую базу, чтобы всё это с меньшей вероятностью сломалось. Хочется автоматизировать и систематизировать этот процесс.
т.е. тесты проводятся на рабочей базе или на свежей копии (с данными)

1) Я правильно понял, что xUnitFor1C в основном будет полезен тем, что все тесты будут в одном формате (их проще будет поддерживать) ?
Не будет ли в моём случае xUnitFor1C усложнением? (какие ещё приемущества будет по сравнению с велосипедным решением)
2) Не совсем понял, для чего нужны утверждения, почему нельзя просто написать Если ТЧ.Количество()<>1 Тогда Исключение ?
3) Есть ли какой либо механизм проверки АПИ, веб, хттп сервисов. Часто после обновления падают именно они (например клиентский вызов попал в серверный модуль) Как вариант из макета подгружать тело запроса и отправлять post сравнивать с эталоном ответ (у нас сейчас для этих нужд целая конфигурация работает, в режиме мониторинга).
4) Хочу выполнить тест в коде которого будет множество параметров (логины, пути, и т.п.) можно ли хранить параметры не в коде, чтобы можно было менять их без изменения кода теста ?
Оставьте свое сообщение