C # Moq Entity Framework 6.1.3 без учета регистра - PullRequest
0 голосов
/ 26 августа 2018

Для модульного тестирования службы Entity Framework я использую Moq.Обычная база данных использует параметры сортировки SQL_Latin1_General_CP1_CI_AS, поэтому она не чувствительна к регистру.Можно ли сделать поддельный регистр ApplicationDbContext нечувствительным?

Текущий код:

private Mock<ApplicationDbContext> GetMockedApplicationDbContext()
{
    var mockedPoliceRegion = GetMockedPoliceRegion();

    var mockContext = new Mock<ApplicationDbContext>();
    mockContext.Setup(c => c.PoliceRegions).Returns(mockedPoliceRegion.Object);

    return mockContext;
}

private Mock<DbSet<PoliceRegion>> GetMockedPoliceRegion()
{
    IQueryable<PoliceRegion> data = new List<PoliceRegion>
    {
        new PoliceRegion() {Name = "Syd"},

    }.AsQueryable();

    var mockSet = new Mock<DbSet<PoliceRegion>>();
    mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Provider).Returns(data.Provider);
    mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Expression).Returns(data.Expression);
    mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.ElementType).Returns(data.ElementType);
    mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

    return mockSet;
}
...