Вопрос до сих пор мне не ясен на 100%, но я пытаюсь дать ответ.
Не надо издеваться DBEntities
.Если вы хотите убедиться, что ваши запросы возвращают правильный результат, протестируйте его с хорошо известной, предварительно заполненной базой данных, которую вы используете только для своих тестов.
Если вы хотите проверить свою бизнес-логику и вам нужно смоделировать ваши данныеслой доступа, тогда насмешка полезна!Поэтому создайте интерфейс с вашими методами:
public interface IDAL
{
List<string> ABC();
}
В своем модульном тесте вы можете смоделировать интерфейс с помощью:
var dataAccessMock = new Mock<IDAL>();
dataAccessMock.Setup(x => x.ABC()).Returns(new List<string> {"ABC", "DEF", "GHI" });
// get an IDAL instance which you can inject / use
var mockedInstance = dataAccessMock.Object;
// get the mocked list
var list = mockedInstance.ABC();