gifts2017

Набор тестов xUnit для ERP2, блок Производство

Опубликовал Анатолий Ситников (acsent) в раздел Программирование - Инструментарий

Набор тестовых обработок, эмулирующих цепочку документов по блоку Производство в конфигурации ERP 2.1

Предисловие

Не будем вдаваться в тему "использовать" vs "не использовать" автоматическое тестирование  в разработке. А посмотрим на тестирование с другой стороны. Часто бывает нужно дорабатывать документы, алгоритмы которых зависят от других уже введенных документов, например, нужно поправить расчет себестоимости. Но чтобы только дойти до расчета себестоимости, требуется ввести десяток разных документов.

А если где-то вначале нужно поменять документ? Приходится все удалять и заново вводить всю цепочку. Вот тут-то нам и поможет наше тестирование. Будем с его помощью создавать демо пример

Цепочка документов

Рассмотрим следующую цепочку:

  • Создание заказа на производство
  • Поступление материалов
  • Перемещение на склад производства
  • Передлача материалов в производство
  • Выпуск продукции
  • Акт выполненных работ
  • Расчет себестоимости и формирование проводок

В данной цепочке не рассматривается учет ЗП и прочие расходы. Для того, чтобы все это ввести, нужно выполнить следующие шаги

 Шаги теста

Конечно же, нам также необходимо иметь возможность удалять всю цепочку для запуска процесса с чистого листа + также необходимо заполнить предварительные настройки, создать элементы справочников

Запуск тестов

Сам запускатель тестов можно скачать с гитхаба https://github.com/xDrivenDevelopment/xUnitFor1C

Там же можно ознакомиться с тем, как писать и запускать тесты.

Данные тесты запускались на типовой конфигурации ERP 2.1.3.100.

Потом запускаем тест 00_ДопОбъекты, затем все остальные тесты

Дополнительные бонусы

Помимо собственно генерации тестового примера, в данных обработках можно посмотреть, как одни документы ERP вводятся на основании других. Тут можно немного похвалить 1С. Практически всегда можно создать и заполнить документы не прибегая к открытию форм, ибо все функции по заполнению находятся в модулях менеджеров или объектов

P.S. Страничка проекта на gitub

https://github.com/a-sitnikov/erp2_xtests

P.P.S. Можете посмотреть другие мои статьи по доработке ERP

Изящная доработка движений и проводок документов ERP 2

Добвлен модифицировнный ранер xUnit.
Отличия от релиза:
1. Строгий порядок тестов
2. Убрано сообщение о невозможности запуска модальных диалогов

Скачать файлы

Наименование Файл Версия Размер
ПроизводствоТиповая-v4.zip 1
.zip 81,28Kb
13.07.16
1
.zip 81,28Kb Скачать
ПроизводствоТиповая.zip 19
.zip 83,28Kb
13.07.16
19
.zip 83,28Kb Скачать
xddTestRunner_mod.epf
.epf 75,71Kb
16.08.16
0
.epf 75,71Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Сытько (8SiriuS8) 24.04.16 17:13
(0) Статья какая-то не до конца оформлена. Автор а где что можно предметно посмотреть или скачать ?
kraynev-navi; +1 Ответить
2. Пишу код как картины (yurii_host) 25.04.16 09:31
Автор, а вы просто забыли/не смогли прикрепить сами тесты? Или не планировали? На текущий момент заголовок статьи не соответствует содержанию
3. Анатолий Ситников (acsent) 25.04.16 10:24
Прикрепил файлы, оказывается для типа "статья" файлы сами удаляются
4. Пишу код как картины (yurii_host) 25.04.16 12:48
(3) acsent, прогнал тесты. Но при выполнении сценариев на демо базе ерпи 2.1.3.100 падают некоторые тесты. Ошибки связаны с тем, что не находится нужный маршрутный лист. При этом ошибок при расчете себестоимости не возникает.
Также не заполняется и поле Стоимость в акте, но это возможно потому, что нам нужны проводки, а не движения

p.s. В целом, я считаю, подобные тесты по типовым конфигурациям - очень крутая штука, т.к. позволяют обмениваться знаниями по сложным алгоритмам в более простом для восприятия виде.
Прикрепленные файлы:
sorb; artbear; +2 Ответить 1
5. Пишу код как картины (yurii_host) 25.04.16 12:52
Сам сейчас решаю задачу по себестоимости, и подобный пример, создающий простую модель с необходимыми данными, очень сильно упрощает жизнь. Тем более, что задача расчета себестоимости не теряет актуальности
6. Анатолий Ситников (acsent) 25.04.16 13:46
(4) Можешь конкретные ошибки написать?
Возможно тест 00_ДопОбъекты был запущен не в самом начале
7. Пишу код как картины (yurii_host) 25.04.16 13:52
(6) acsent, ошибки прилагаю в файле. Проблема в том, что маршрутный лист вообще не создается. Видимо, это зависит от какой-нибудь константы или какой-нибудь галочки в каком-нибудь справочнике/регистре. Пока еще не успел разобраться
Прикрепленные файлы:
Отчет об автоматическом тестировании, xUnitFor1C v.3.0.0.5.mxl
8. Пишу код как картины (yurii_host) 25.04.16 13:55
(6) acsent, тест прогонял полностью несколько раз. При первом запуске ошибки были почти на всех ветках. На последующих прогонах - только те ошибки, что на скрине
9. Евгений Сосна (pumbaE) 25.04.16 13:57
(7) yurii_host, off: с константами есть глобальная проблема. В erp их больше 450 и при этом есть такие которые в себе содержат хранилище значений, а там такой мусор бывает, что попытка автоматизировать их перенос в другую базу - ломает базу (починить можно, но это очень долго).
10. Анатолий Ситников (acsent) 25.04.16 14:23
Понял. не установлен график предприятия
НСИ и Администрирование > Настройки параметров системы > Предприятие > Орнгаизации > График работы предприятия
Нужно также проверить, что он заполнен на 2016 год
11. Пишу код как картины (yurii_host) 25.04.16 15:12
(10) acsent, благодарю. Ошибки ушли.
Однако таблица значений, которая хранится в тесте 13 по себестоимости при разворачивании через ЗначениеИзСтрокиВнутр() возвращает таблицу с колонками, но без строк. Сам тест сравнивает проводки документа, которых нет, с пустой таблицей значений и выдает ОК. Поле Стоимость в движениях акта по регистру Себестоимость также равно нулю.
Подскажи, плиз, это так и задумано?

На скрине таблица, которая получается из строки внутр
Прикрепленные файлы:
12. Анатолий Ситников (acsent) 25.04.16 16:33
Исправил ошибки в тесте, все-таки сам тест выреазлся из немного большего.
Также в 00_ДопОбъекты добавил заполнение счетов по расходам. тест "Организации"
13. Пишу код как картины (yurii_host) 25.04.16 17:00
(12) acsent, вот теперь все вообще круто.
Спасибо!

Партии произв. затрат заполнились, и себестоимость тоже заполнена. Для моей задачи этого вполне достаточно
14. Евгений Мартыненков (JohnyDeath) 25.04.16 23:32
Первые публичные тесты для типовых конфигураций! Поздравляю!
Не хватает https://github.com/xDrivenDevelopment/precommit1c для обработок-тестов
Evil Beaver; DoctorRoza; kuntashov; nixel; AlexKo; kraynev-navi; +6 Ответить 1
15. Игорь Пашутин (Alien_job) 26.04.16 07:51
Великолепно! Жаль не УПП
16. Brr (brr) 26.04.16 09:14
Проверяем что заполнен график предприятия на 2016 год
НСИ и Администрирование > Настройки параметров системы > Предприятие > Орнгаизации > График работы предприятия


это в тесты нельзя включить?
17. Анатолий Ситников (acsent) 26.04.16 10:52
(14) Это в планах, но пока не разобрался еще с данной подсистемой
18. Анатолий Ситников (acsent) 26.04.16 11:50
Добавил заполнение календаря в тест 00_ДопОбъекты
19. Alexander Kondrin (AlexKo) 26.04.16 13:54
Отлично, ещё можно сделать ролик на youtube для популяризации как пользоваться и плюс про "precommit1c для обработок-тестов"
kraynev-navi; +1 Ответить
20. Alexandr Polushkin (Mos) 26.04.16 13:59
Отлично!
А проверка движений документов не реализована?
Документ может создаваться и проводится, а вот движения быть не совсем ожидаемыми.
21. Анатолий Ситников (acsent) 26.04.16 15:41
(20) Проверяются только проводки документа Акт в послденем тесте
22. Анатолий Ситников (acsent) 26.04.16 17:26
Добавил разобранные файлы на git
JohnyDeath; +1 Ответить
23. Alexander Kondrin (AlexKo) 15.08.16 09:13
acsent, сделал инструкцию по запуску xUnit на примере Ваших тестов. http://infostart.ru/public/542747/
Для демонстрационной базы ERP тесты выполнились с ошибками.
Скоро присоединюсь к разработке/доработке тестов erp2_xtests.
24. Анатолий Ситников (acsent) 15.08.16 17:34
(23) Эх в версии 4 xUnit убрали строгий порядок выполнения, поэтому полный тест не отрабатывает
25. Артур Аюханов (artbear) 15.08.16 21:48
(24) т.е. ты заложился на порядок выполнения тестов в строгой последовательности?
внутри одного набора тестов (в одном файле-обработке) или среди нескольких разных обработок?
26. Анатолий Ситников (acsent) 16.08.16 16:12
(25) Среди разных.
Это же сценарий был, а не отдельный тест