У нашей команды есть куча микро-apis, в настоящее время я настраиваю проект спецификации потока C # для выполнения модульного тестирования всех наших хранимых процедур.у нас есть 3 варианта
Создать тестовую базу данных для каждого микро-API.В начале каждого теста мы очищаем таблицы, заполняем их тестовыми данными и запускаем хранимую процедуру для них.
Мы не будем создавать тестовую базу данных, просто завернем все всделкаМы по-прежнему очищаем и заполняем тестовые данные и запускаем хранимую процедуру для них, но в конце каждого теста мы выполняем откат транзакции
Использование базы данных в памяти, однако, из моего исследования Iне думаю, что SQL Server поддерживает это.Я посмотрел на EF и SQL Lite.(поправьте меня, если я ошибаюсь)
Каковы преимущества и недостатки каждого из них.Я пытаюсь взвесить их и посмотреть на лучшие практики и на что обратить внимание.
Я думаю, что вариант (1) лучше, потому что с вариантом (2) другие люди могут использовать базу данных во время ваших тестовых случаев.запущены, и это может привести к путанице.
Однако с опцией (2) нам не нужно будет создавать и поддерживать тестовую базу данных