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

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

Предисловие

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

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

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

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

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

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

 Шаги теста

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

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

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

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

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

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

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

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

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

https://github.com/acsent80/erp2_xtests

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

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

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

26 Comments

  1. sytkosa

    (0) Статья какая-то не до конца оформлена. Автор а где что можно предметно посмотреть или скачать ?

    Reply
  2. json

    Автор, а вы просто забыли/не смогли прикрепить сами тесты? Или не планировали? На текущий момент заголовок статьи не соответствует содержанию

    Reply
  3. acsent

    Прикрепил файлы, оказывается для типа «статья» файлы сами удаляются

    Reply
  4. json

    (3) прогнал тесты. Но при выполнении сценариев на демо базе ерпи 2.1.3.100 падают некоторые тесты. Ошибки связаны с тем, что не находится нужный маршрутный лист. При этом ошибок при расчете себестоимости не возникает.

    Также не заполняется и поле Стоимость в акте, но это возможно потому, что нам нужны проводки, а не движения

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

    Reply
  5. json

    Сам сейчас решаю задачу по себестоимости, и подобный пример, создающий простую модель с необходимыми данными, очень сильно упрощает жизнь. Тем более, что задача расчета себестоимости не теряет актуальности

    Reply
  6. acsent

    (4) Можешь конкретные ошибки написать?

    Возможно тест 00_ДопОбъекты был запущен не в самом начале

    Reply
  7. json

    (6) ошибки прилагаю в файле. Проблема в том, что маршрутный лист вообще не создается. Видимо, это зависит от какой-нибудь константы или какой-нибудь галочки в каком-нибудь справочнике/регистре. Пока еще не успел разобраться

    Reply
  8. json

    (6) тест прогонял полностью несколько раз. При первом запуске ошибки были почти на всех ветках. На последующих прогонах — только те ошибки, что на скрине

    Reply
  9. pumbaE

    (7) yurii_host, off: с константами есть глобальная проблема. В erp их больше 450 и при этом есть такие которые в себе содержат хранилище значений, а там такой мусор бывает, что попытка автоматизировать их перенос в другую базу — ломает базу (починить можно, но это очень долго).

    Reply
  10. acsent

    Понял. не установлен график предприятия

    НСИ и Администрирование > Настройки параметров системы > Предприятие > Орнгаизации > График работы предприятия

    Нужно также проверить, что он заполнен на 2016 год

    Reply
  11. json

    (10) благодарю. Ошибки ушли.

    Однако таблица значений, которая хранится в тесте 13 по себестоимости при разворачивании через ЗначениеИзСтрокиВнутр() возвращает таблицу с колонками, но без строк. Сам тест сравнивает проводки документа, которых нет, с пустой таблицей значений и выдает ОК. Поле Стоимость в движениях акта по регистру Себестоимость также равно нулю.

    Подскажи, плиз, это так и задумано?

    На скрине таблица, которая получается из строки внутр

    Reply
  12. acsent

    Исправил ошибки в тесте, все-таки сам тест выреазлся из немного большего.

    Также в 00_ДопОбъекты добавил заполнение счетов по расходам. тест «Организации»

    Reply
  13. json

    (12) вот теперь все вообще круто.

    Спасибо!

    Партии произв. затрат заполнились, и себестоимость тоже заполнена. Для моей задачи этого вполне достаточно

    Reply
  14. JohnyDeath

    Первые публичные тесты для типовых конфигураций! Поздравляю!

    Не хватает https://github.com/xDrivenDevelopment/precommit1c для обработок-тестов

    Reply
  15. Alien_job

    Великолепно! Жаль не УПП

    Reply
  16. brr
    Проверяем что заполнен график предприятия на 2016 год

    НСИ и Администрирование > Настройки параметров системы > Предприятие > Орнгаизации > График работы предприятия

    это в тесты нельзя включить?

    Reply
  17. acsent

    (14) Это в планах, но пока не разобрался еще с данной подсистемой

    Reply
  18. acsent

    Добавил заполнение календаря в тест 00_ДопОбъекты

    Reply
  19. AlexKo

    Отлично, ещё можно сделать ролик на youtube для популяризации как пользоваться и плюс про «precommit1c для обработок-тестов»

    Reply
  20. Mos

    Отлично!

    А проверка движений документов не реализована?

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

    Reply
  21. acsent

    (20) Проверяются только проводки документа Акт в послденем тесте

    Reply
  22. acsent

    Добавил разобранные файлы на git

    Reply
  23. AlexKo

    acsent, сделал инструкцию по запуску xUnit на примере Ваших тестов. http://infostart.ru/public/542747/

    Для демонстрационной базы ERP тесты выполнились с ошибками.

    Скоро присоединюсь к разработке/доработке тестов erp2_xtests.

    Reply
  24. acsent

    (23) Эх в версии 4 xUnit убрали строгий порядок выполнения, поэтому полный тест не отрабатывает

    Reply
  25. artbear

    (24) т.е. ты заложился на порядок выполнения тестов в строгой последовательности?

    внутри одного набора тестов (в одном файле-обработке) или среди нескольких разных обработок?

    Reply
  26. acsent

    (25) Среди разных.

    Это же сценарий был, а не отдельный тест

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *