Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Утверждения для проверки исключений методов выполнять в транзакции #172

Closed
alkoleft opened this issue Sep 14, 2023 · 2 comments · Fixed by #191
Assignees
Labels
Сомнение Есть сомнение в необходимости Утверждения
Milestone

Comments

@alkoleft
Copy link
Member

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

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

Документ = Документы.Документ1.СоздатьДокумент();
ЗаполнитьДокумент(Документ)
Ютест.ОжидаетЧто(Документ).Метод("Записать").Параметр(РежимЗаписиДокумента.Проведение).ВыбрасываетИсключение();
ЗаполнитьДокументИначе(Документ)
Ютест.ОжидаетЧто(Документ).Метод("Записать").Параметр(РежимЗаписиДокумента.Проведение).ВыбрасываетИсключение();

В этом случае после теста в системе останутся тестовые данные.

Добавить в метод ВыбрасываетИсключение параметр управления транзакцией, а вызов метода обернуть в транзакцию.

Бывают и более сложные методы генерирующие данные.

@alkoleft alkoleft added Сомнение Есть сомнение в необходимости Утверждения labels Sep 14, 2023
@alkoleft alkoleft added this to the YaxUnit 23.10 milestone Sep 29, 2023
@potoyalo
Copy link
Contributor

potoyalo commented Oct 3, 2023

Докину пару кейсов:

  • Цикл по ЮТест.Варианты(...) внутри теста
  • Проверка ЮТест.ОжидаетЧтоТаблицаБазы(...) после тестируемого исключения, которое отменило транзакцию

@alkoleft
Copy link
Member Author

alkoleft commented Oct 3, 2023

@potoyalo Создание и отмена транзакции в ВыбрасываетИсключение будет выполнятся если уже нет транзакции выше.

Так, что думаю указанные кейсы не сломает.
Плюс будет флаг регулирующий использование транзакции..

@alkoleft alkoleft self-assigned this Oct 3, 2023
alkoleft added a commit that referenced this issue Oct 3, 2023
Выполнение проверки метода в транзакции
alkoleft added a commit that referenced this issue Oct 22, 2023
Выполнение проверки метода в транзакции
alkoleft added a commit that referenced this issue Oct 22, 2023
Исправлены замечания сонара
alkoleft added a commit that referenced this issue Jan 15, 2024
## Новое в версии

### Тестовые данные

* Добавить возможность передать дополнительные свойства и режим загрузки в методы СоздатьЭлемент и СоздатьДокумент #181 Спасибо @SeiOkami
* Конструктор тестовых данных. Добавить метод перехода с заполнения табличной части на объект #167
* Конструктор тестовых данных, добавить метод создания записи, который возвращает сам конструктор. #243

### Утверждения

* Новое утверждение `ОжидаетЧто(Объект).ИмеетМетод(ИмяМетода)` #224
* Добавить поддержку передачи значения по умолчанию #207 Спасибо @stolya
* Утверждения. Добавить поддержку проверки форматированных строк #199
* Доработать утверждения ИБ для проверки строк неограниченной длины #187
* Добавить поддержку предикатов в Утверждения.Содержит И Утверждения.НеСодержит #179
* Утверждения для проверки исключений методов выполнять в транзакции #172
* Перевод утверждений на использование предикатов #162
* Сравнение табличных документов по содержимому #36

### Мокирование

* Мокито. Навести порядок с мокированием ссылочных объектов. #231
* Настройка мокирования. Сократить настройку мокирования цепочки вызовов одного метода. #223

### Прочее

* Поддержка англоязычных конфигураций #238 Спасибо @RichardTheLionJokes
* Вынести в ППИ метод получения свойства по по пути #214
* Добавить метод получения движений документа #170
* Сократить сообщение для сломанных тестов #169
* Небольшые правки #165
* Метод установки реквизита ссылки #158
* Проверка зависших транзакций #143

## Исправленные ошибки

### Запуск

* Ошибка при чтении параметров запуска #241 Спасибо @1cgh
* Добавить поддержку работу инструмента под не полноправным пользователем #212 Спасибо @stolya
* Добавить возможность внутри тестов создавать внешнюю обработку по имени #193 Спасибо @SeiOkami
* Ошибка запуска тестов из файла настроек при запрещенных синхронных вызовах #188

### Мокирование

* Не работает мокирование методов обработки, при обучении через менеджер #217

### Тестовые данные

* Ошибка генерации случайного отрицательного числа без параметров #211

### CI

* Починить тесты движка для английской локали #160

### Прочее

* При поломке контекста движка в рамках теста возникает необработаная ошибка #234
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Сомнение Есть сомнение в необходимости Утверждения
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants