Это исправлено в 2019.1 (в этом квартале):
проверено в WS-191.3749 (внутренняя сборка, нигде не опубликована)
Если Вы хотите протестировать тот свой уровень доступа к данным, работы исправляют Вас, действительно должен протестировать его против базы данных в какой-то момент как иначе, Вы на самом деле не тестируете его работы.
Когда я тест единицы мой DAL, я использую транзакции и откат в конце модульного теста, таким образом, дб является чистым.
Поблочное тестирование DAL является очень общей головной болью в разработке. По большей части я предлагаю, чтобы Вы пропустили его.
Большинство ORMs в эти дни предлагает своего рода язык запросов, им LINQ или HQL или некоторая другая разновидность. Поскольку надлежащий модульный тест требует, чтобы Вы не на самом деле поразили базу данных, необходимо дразнить ORM и выполнение, которое является самой большой болью в заднице, о которой можно думать. Это не стоит того, IMO. В конечном счете Вы только заканчиваете тем, что тестировали это, Вы записали надлежащий запрос в своем коде; Вы не получаете значения регрессии вообще и можете лучше служить Вашим целям контролем кода.
Я не говорю, что Вы не должны тестировать свое использование DAL, однако; просто не пробуйте поблочное тестирование. У Вас должен все еще быть комплект тестов интеграции и приемлемости для пользователя для Вашей программы/системы; позвольте им обработать тестирование Вашего доступа к данным вместо этого.