У меня эти две строки на моем коде.Как я могу создать издеваемый объект внутри издевающегося объекта?
Customer customer = Repository.Customer.GetById(customerId);
Employee employee = customer.Employees.Single(e => e.IsPrimaryContact);
Теперь я создаю единичный тест. Оба объекта, клиент и сотрудник защищены, поэтому мне нужно их издеваться.
Я успешно издевался над первым и создал «клиента» издевавшегося объекта в качестве возврата для получения клиентом по идентификатору.
Customer customer = new Mock<Customer>().Object;
/* code ... code*/
var mockCustomerRepository = new Mock<ICustomerRepository>();
mockCustomerRepository.Setup(p => p.GetById(It.IsAny<Guid>())).Returns(customer);
Repository.Customer = mockCustomerRepository.Object;
Как вы можете видеть, «работник» объект находится внутри издевались объекта «клиент», который означает, что я также должен обеспечить высмеивал объект внутри моего первого издевались объекта (Заказчик). Я ожидаю, что мой код будет таким.
Employee employee = new Mock<Employee>().Object;
employee.IsPrimaryContact = true;
List<Employee> employees = new List<Employee>();
employees.Add(employee);
customer.Employees = employees;
/* code ... code*/
Однако, хотя у меня нет никаких ошибок при создании моего теста. Клиент-клиент - ВСЕГДА NULL.