Hryshenchuk Yehor @yehorh 12:05
Приветствую. Надеюсь найти совет | помощь в понимании того как правильно писать тесты с помощью данного фреймворка. Требуется проверять логику работу СКД. Создаю пустую БД, заливаю конфигурацию,
делаю минимально начальное заполнение данных, генерирую тестовые данные в макете (справочники, документы, регистры). Создаю тесты с ожидаемыми правильными значениями. Запускаю на пустой базе в
режиме транзакции: справочники не могут быть добавлены в проводки т.к. они еще не записаны "Ошибка получения представления значения" выдает обзор переменных в дебагере. Вопрос как правильно тестить
такие случаи? что читать куда копать? заранее спасибо!
Evhen Sosna @pumbaEO 12:06
УФ ? ОФ?
Hryshenchuk Yehor @yehorh 12:07
Пытался посмотреть историю этой конфы, но гиттер как-то не очень хочет искать кириллицу.
Evhen Sosna @pumbaEO 12:07
В УФ транзакция - очень хрупкая вещь, т.к. приходится все выполнять на сервере за 1 раз.
Hryshenchuk Yehor @yehorh 12:07
пробовал в обычном приложении на сервере.
какие рекоммендации тогда по очистке данных после каждого теста? просто логика достаточно сложна СКД и разбить я его не могу.
Evhen Sosna @pumbaEO 12:09
Сама идея такая - начать транзакцию - Загрузить данные из макетов - сформировать СКД - отменить транзакцию.
Второй вариант - Загружаем данные из макета, фомриуем СКД - вызываем метод удаления данных по созданным из макетов.
Второй вариант для расследования в чем причина - более предпочтительный.
Hryshenchuk Yehor @yehorh 12:10
ну, вот тут и проблема что если я добавляю справочники какие были созданы в транзакции то пишет "Ошибка получения представления значения" по этим объектам
если вторым методом то все ок.
если пользоваться вторым методом, то существуют штатные средства для удаления данных с шаблона после теста?
Hryshenchuk Yehor @yehorh 12:15
Благодарю!
регистры сведений не чистит - есть тесты
это значит что надо рег. сведений создавать в транзакции вторым набором (макетом), а данные вводить без транзакции и потом этим методом удалять?
Evhen Sosna @pumbaEO 12:24
хм, Да их надо тогда отдельно еще и удалять.
Например, короткий FAQ
Начало в https://gitter.im/xDrivenDevelopment/xUnitFor1C?at=5a1d26e68b3a9e2c0c27e2ab
Hryshenchuk Yehor @yehorh 12:05 Приветствую. Надеюсь найти совет | помощь в понимании того как правильно писать тесты с помощью данного фреймворка. Требуется проверять логику работу СКД. Создаю пустую БД, заливаю конфигурацию, делаю минимально начальное заполнение данных, генерирую тестовые данные в макете (справочники, документы, регистры). Создаю тесты с ожидаемыми правильными значениями. Запускаю на пустой базе в режиме транзакции: справочники не могут быть добавлены в проводки т.к. они еще не записаны "Ошибка получения представления значения" выдает обзор переменных в дебагере. Вопрос как правильно тестить такие случаи? что читать куда копать? заранее спасибо!
Evhen Sosna @pumbaEO 12:06 УФ ? ОФ?
Hryshenchuk Yehor @yehorh 12:07 Пытался посмотреть историю этой конфы, но гиттер как-то не очень хочет искать кириллицу.
Evhen Sosna @pumbaEO 12:07 В УФ транзакция - очень хрупкая вещь, т.к. приходится все выполнять на сервере за 1 раз.
Hryshenchuk Yehor @yehorh 12:07 пробовал в обычном приложении на сервере. какие рекоммендации тогда по очистке данных после каждого теста? просто логика достаточно сложна СКД и разбить я его не могу.
Evhen Sosna @pumbaEO 12:09 Сама идея такая - начать транзакцию - Загрузить данные из макетов - сформировать СКД - отменить транзакцию. Второй вариант - Загружаем данные из макета, фомриуем СКД - вызываем метод удаления данных по созданным из макетов. Второй вариант для расследования в чем причина - более предпочтительный.
Hryshenchuk Yehor @yehorh 12:10 ну, вот тут и проблема что если я добавляю справочники какие были созданы в транзакции то пишет "Ошибка получения представления значения" по этим объектам если вторым методом то все ок. если пользоваться вторым методом, то существуют штатные средства для удаления данных с шаблона после теста?
Evhen Sosna @pumbaEO 12:13 https://github.com/xDrivenDevelopment/xUnitFor1C/blob/develop/src/Plugins/%D0%A1%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80MXL/ObjectModule.bsl#L84 УдалитьСозданныеДанные( из серелизатора
Hryshenchuk Yehor @yehorh 12:15 Благодарю! регистры сведений не чистит - есть тесты это значит что надо рег. сведений создавать в транзакции вторым набором (макетом), а данные вводить без транзакции и потом этим методом удалять?
Evhen Sosna @pumbaEO 12:24 хм, Да их надо тогда отдельно еще и удалять.