Изменения базы данных с отказой, сделанные при приложении/API в автоматизации теста .NET .NET. ⇐ C#

Место общения программистов C#
Anonymous
Изменения базы данных с отказой, сделанные при приложении/API в автоматизации теста .NET .NET.

Сообщение Anonymous »

Я работаю над крупномасштабным проектом автоматизации тестирования .NET (более 2500 тестовых случаев), который взаимодействует с API приложения. Моя цель состоит в том, чтобы сохранить базу данных в чистоте и изолированной между тестовыми прогонами. < /P>
Вот моя проблема: < /p>

Когда я запускаю интеграционные тесты, которые непосредственно выполняют команды SQL (используя Ado.net), я могу успешно отказываться от изменений в конце каждого теста, обнимая все в транзакции < /код. Это сохраняет мою базу данных в чистоте. В этих случаях код API открывает собственное подключение/процесс базы данных и совершает изменения независимо. Только изменения, внесенные непосредственно с помощью подключения тестового кода, откатаются обратно. В результате подходы, такие как усечение всех таблиц или сбрасывание и воссоздание их после каждого теста, являются нецелесообразными, поскольку они добавляют значительные накладные расходы и делают тестовые прогоны намного медленнее. Я специально ищу эффективные стратегии, которые хорошо работают с большими и сложными базами данных. Тест будет откат в конце. Этот подход работает отлично, если я выполняю команды SQL непосредственно из тестового кода: эти изменения откатываются при устранении транзакции. В этих случаях код API работает в другом процессе, открывает собственное соединение с базой данных и совершает изменения за пределами Test TransactionScope . В результате любые модификации базы данных, сделанные API, не откатаются, и состояние базы данных не изолировано между тестами. Я ищу способ, чтобы все изменения (в том числе из API) могут быть отказаны или сброшены эффективно между тестами.

Подробнее здесь: https://stackoverflow.com/questions/796 ... automation

Вернуться в «C#»