Службы тестирования в unit test repository pattern entity framework code first
Я пытаюсь настроить модульный тест в сервисах с помощью Минимальный заказ и
Нанит Я попробовал издеваться над контекстом и DbSet как
var mockSet = new Mock<DbSet<Student>>(); var mockContext = new Mock<Context>(); mockContext.SetupGet(m => m.Student).Returns(mockSet.Object);но Мои сервисы зависят от других сервисов, поэтому я попробовал [Setup] в методе TestInit, но когда я пытаюсь протестировать сервис, я получаю исключение " недопустимая настройка на невиртуальном (переопределяемом в VB) члене: m => M. Student""
Мне нужно решение, чтобы зарегистрировать свои услуги и единства в модульный тест
Что я уже пробовал:
//this is how my whole code looks like [TestClass] public class StudentServiceTest { private IComService _mockComService; private IAccountService _mockAccountService; protected MRContext Context; private IUnitOfWork _mockUnitWork; [SetUp] public void TestInit(MRContext context, IAccountService accountService, IComService comService, IUnitOfWork unitOfWork) { this._mockComService = comService; _mockUnitWork = unitOfWork; this._mockAccountService = accountService; Context = context; } [TestInitialize] public void Initialize() { var mockSet = new Mock<DbSet<Student>>(); var mockContext = new Mock<Context>(); mockContext.SetupGet(m => m.Student).Returns(mockSet.Object); } [TestMethod] public void AutoAssignmentCases() { var service = new StudentService(_mockAccountService, _mockComService, _mockUnitWork); var students = service.DoSomeTask(); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsFalse(students.Any(c => !c.SubjectId.HasValue)); } }