Хорошо, давайте скажем так: вам не следует писать модульные тесты, чтобы убедиться, что сама Entity Framework работает. Это работа Microsoft.
Кроме того, некоторые утверждают, что получение базы данных SQL Server в «модульном тесте» вовсе означает, что вы сейчас проводите интеграционное тестирование, а не модульное тестирование. Это независимо от того, как вы это делаете. Я не собираюсь спорить по этому вопросу, однако.
написанные вами модульные тесты должны проверять ваш собственный код.
Вы говорите, что одной из причин, по которой вы хотите читать базу данных напрямую, является то, что ваше приложение может видеть кэшированные данные. Кто написал этот кеш? Если это вы, то обязательно протестируйте его модульно, хотя в этом случае я бы, вероятно, смоделировал доступ к базе данных.
Но если вас беспокоит кэширование SQL Server (или Entity Framework), ну, с чего бы вы начали? Эти продукты огромны, и вы не сможете провести тестирование всей системы.
Это не означает, что вы должны предполагать, что SQL Server и Entity Framework не имеют дефектов. Но, как правило, вы обнаруживаете ошибки в своей среде с помощью интеграционного тестирования приложения, а не модульного тестирования.