xUnitFor1C
xUnitFor1C copied to clipboard
Как избежать дублирования кода при написании тестов?
Я написал для одной задачи пачку избыточных тестов, которые выполняются долго. Чтобы их не выполнять каждый раз, я захотел выделить их в отдельную обработку. Но они используют общие процедуры объявленные в модуле теста. Как быть? Может у меня подход не правильный? Дайте советов мудрых.
Я общий код однотипных тестов вынес в "библиотеку", которую подключаю так же, как юТест.
30 августа 2015 г., 11:21 пользователь ebugusey [email protected] написал:
Я написал для одной задачи пачку избыточных тестов, которые выполняются долго. Чтобы их не выполнять каждый раз, я захотел выделить их в отдельную обработку. Но они используют общие процедуры объявленные в модуле теста. Как быть? Может у меня подход не правильный? Дайте советов мудрых.
— Reply to this email directly or view it on GitHub https://github.com/xDrivenDevelopment/xUnitFor1C/issues/540.
Я пытаюсь перейти на bdd стиль или копипаста.
Всем привет!
Возможно немного не в тему, но возник такой вопрос: как правильно создавать тестовые данные?
Стоит ли использовать данные которые уже существуют в тестовой БД или следует всё генерировать в транзакции теста? Элементы справочников, документы с движениями и т.д. Например, какая-нибудь номенклатура и документы с движениями, где она используется.
Если это уже обсуждалось, буду благодарен за ссылку.
Тест должен быть такой, чтобы корректно отрабатывал на пустой, только что созданной из cf, базе
16 октября 2015 г., 14:10 пользователь codenull [email protected] написал:
Всем привет!
Возможно немного не в тему, но возник такой вопрос: как правильно создавать тестовые данные?
Стоит ли использовать данные которые уже существуют в тестовой БД или следует всё генерировать в транзакции теста? Элементы справочников, документы с движениями и т.д. Например, какая-нибудь номенклатура и документы с движениями, где она используется.
Если это уже обсуждалось, буду благодарен за ссылку.
— Reply to this email directly or view it on GitHub https://github.com/xDrivenDevelopment/xUnitFor1C/issues/540#issuecomment-148686048 .
Былинкин Юрий
Как-то это грустно, в каждый тест втыкать учетную политику организации. А без нее половина бухгалтерии не работает.
16 октября 2015 г., 14:27 пользователь yuriybylinkin < [email protected]> написал:
Тест должен быть такой, чтобы корректно отрабатывал на пустой, только что созданной из cf, базе
16 октября 2015 г., 14:10 пользователь codenull [email protected]
написал:
Всем привет!
Возможно немного не в тему, но возник такой вопрос: как правильно создавать тестовые данные?
Стоит ли использовать данные которые уже существуют в тестовой БД или следует всё генерировать в транзакции теста? Элементы справочников, документы с движениями и т.д. Например, какая-нибудь номенклатура и документы с движениями, где она используется.
Если это уже обсуждалось, буду благодарен за ссылку.
— Reply to this email directly or view it on GitHub < https://github.com/xDrivenDevelopment/xUnitFor1C/issues/540#issuecomment-148686048>
.
Былинкин Юрий
— Reply to this email directly or view it on GitHub https://github.com/xDrivenDevelopment/xUnitFor1C/issues/540#issuecomment-148689848 .
Не так все грустно. Если сделать макет, который будет содержать только данные учетной политики, то "втыкание" ее в каждый тест будет выглядеть так: 1.в обработку теста добавляем макет "УчетнаяПолитика" 2. В модуле теста пишем ЮТест.СоздатьДанныеПоТабличномуДокументу("УчетнаяПолитика");
Или делаем то же самое в другой обработке-библиотеке, которую вызываем из теста.
Т.е. предлагается при старте тестов инициализировать все необходимые настройки: заполнять константы, справочники и другие элементы системы?
Это весьма трудоемкая работа, в плане создания макета и времени загрузки всех начальных данных. К тому же, каждое изменение в структуре объектов, например, новые реквизиты в справочниках, потребует пересоздания макета?
Всё пытаюсь понять, как правильно ввести тестирование в свою практику, но не хватает четкого понимания в работе с данными до и во время тестов.
У нас есть отдельный шаг для начального заполнения тестовой базы. Для этого используем спец.обработку 'ПервоначальноеЗаполнениеТестовыхДанных`, у которой есть тест (или набор тестов-шагов)
В макетах этой обработки внесены все необходимые данные, в коде теста/тестов на базе этих макетов создаются нужные данные. Константы создаются кодом также внутри этих тестов