Информация об изменениях

Сообщение Re: транзакции и тестирование от 26.01.2015 13:49

Изменено 26.01.2015 13:51 ·

Здравствуйте, зиг, Вы писали:

зиг>я согласна даже на чтонибудь типа рефлексией изменять уровень пропагации этого метода ТОЛЬКО для тестирования. но чтоб в продакшне был код без изменений. такое возможно?

Можно создать тестовый контекст, который тупо игнорирует все Transactional-атрибуты и управлять транзакциями самому, вручную, внутри теста.
Очевидно, надо будет учесть, что такой тест будет не сможет тестировать всё, т.к. явно может существовать бизнес-логика, которая требует наличие таких атрибуов. Но для этого можно делать другие тесты, которые воспроизводят контекст более точно...
Здравствуйте, зиг, Вы писали:

зиг>я согласна даже на чтонибудь типа рефлексией изменять уровень пропагации этого метода ТОЛЬКО для тестирования. но чтоб в продакшне был код без изменений. такое возможно?

Можно создать тестовый контекст, который тупо игнорирует все Transactional-атрибуты и управлять транзакциями самому, вручную, внутри теста.
Очевидно, надо будет учесть, что такой тест будет не сможет тестировать всё, т.к. явно может существовать бизнес-логика, которая требует наличие таких атрибуов (unhappy paths, когда что-то кидает исключение и надо что-то закоммитить, а что-то не коммитить). Но для этого можно делать другие тесты, которые воспроизводят контекст более точно...