Когда я создаю экземпляр Mock с помощью MockBehavior.Strict, я получаю сообщение об ошибке
Исключение типа «Moq.MockException» возникло в Moq.dll, но не было обработано в пользовательском коде.
Дополнительная информация: не удалось вызвать DbContext.Set() из-за фиктивного поведения Strict.
Все вызовы макета должны иметь соответствующую настройку.
Но я уже сделал настройку для каждой таблицы, включая эту:
var mockContext = new Mock<JournalsDB>(MockBehavior.Strict);
mockContext.Setup(m => m.Publications).Returns(mockPublicationSet.Object);
mockContext.Setup(m => m.Journals).Returns(mockJournalSet.Object);
mockContext.Setup(m => m.AspNetUsers).Returns(mockUserSet.Object);
mockContext.Setup(m => m.AspNetRoles).Returns(mockRoleSet.Object);
mockContext.Setup(m => m.AspNetUserClaims).Returns(mockClaimSet.Object);
mockContext.Setup(m => m.AspNetUserLogins).Returns(mockLoginSet.Object);
Я подозреваю, что проблема может быть связана с моей реализацией репозитория или реализацией DbContext:
public class JournalRepository<DataObject, DataContext> : IRepository<DataObject, DataContext>, IDisposable
where DataObject : class
where DataContext : DbContext
{
#region Propiedades
private readonly DataContext _ctx;
так далее...
public partial class JournalsDB : DbContext
{
public JournalsDB()
: base("name=JournalsDB")
{
}
public JournalsDB(string connectionName)
: base(connectionName)
{
}
так далее...
РЕДАКТИРОВАТЬ:
Без MockBehaviour.Strict я получаю сообщение об ошибке. Значение не может быть нулевым. Имя параметра: источник при запросе любого DbSet, но наборы DbSet заполнены правильно.
