Тестирование XUnit — InMemory против реальной базы данных [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Тестирование XUnit — InMemory против реальной базы данных [закрыто]

Сообщение Anonymous »

Я изо всех сил пытаюсь выбрать лучший подход к использованию моей базы данных в модульных тестах. Я использую XUnit для тестов, и моя модель базы данных сначала представляет собой код с инфраструктурой сущностей.
У меня есть варианты: InMemory и Real Database, оба поддерживаются контекстом платформы сущностей.
Однако у обоих есть проблемы:
InMemory — хорошо, потому что он может разворачивать экземпляры базы данных и быстро уничтожать их в памяти. Плохо, потому что он не находит встроенные ошибки SQL и не может тестировать функции, выполняющие необработанные команды SQL.
Настоящий - Хорошо, потому что он может находить собственные ошибки SQL и тестировать функции, выполняющие необработанные команды SQL. Плохо, потому что DbContext не является потокобезопасным, а XUnit запускает тесты асинхронно, что означает, что мне нужно будет создавать новую реальную базу данных для каждого теста (своевременно и беспорядочно).
Какое решение здесь является предпочтительным? Кажется, у обоих есть плюсы и минусы. Есть ли лучшее решение, которое мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/720 ... l-database
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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