Хранимая процедура тестирования с тестовой базой данных или упаковка в транзакции - PullRequest
1 голос
/ 27 мая 2019

У нашей команды есть куча микро-apis, в настоящее время я настраиваю проект спецификации потока C # для выполнения модульного тестирования всех наших хранимых процедур.у нас есть 3 варианта

  1. Создать тестовую базу данных для каждого микро-API.В начале каждого теста мы очищаем таблицы, заполняем их тестовыми данными и запускаем хранимую процедуру для них.

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

  3. Использование базы данных в памяти, однако, из моего исследования Iне думаю, что SQL Server поддерживает это.Я посмотрел на EF и SQL Lite.(поправьте меня, если я ошибаюсь)

Каковы преимущества и недостатки каждого из них.Я пытаюсь взвесить их и посмотреть на лучшие практики и на что обратить внимание.

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

Однако с опцией (2) нам не нужно будет создавать и поддерживать тестовую базу данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...