У меня есть бизнес-класс EmployeeService, и у него есть один метод GetProjectsByEmpId, а код следует
public List<Project> GetProjectsByEmpId (int id) {
return this.empRepository.Get(e=>e.empId == id, e=>e.Projects).Projects;
}
, а синтаксис метода Get равен
T Get(Expression<Func<T, bool>> predicate, params Expression<Func<T, object>>[] includes);
, а мой тестовый случай равен
private Mock<IEmployeeRepository> mockEmpRep;
[TestInitialize]
public void setup()
{
mockEmpRep= new Mock<IEmployeeRepository>();
myClass= new EmployeeService(mockEmpRep.Object);
}
, метод тестирования -
[TestMethod]
public void Test_GetProjectsByEmpId() {
this.mockEmpRep.Setup(m=> m.Get(
It.IsAny<Expression<Func<Employee, bool>>>(),
It.IsAny<Expression<Func<Employee, object>>>())).Returns(mockResult);
var res = myClass.GetProjectsByEmpId(1);
}
, а mockResult -
new Employee { id: 1, projects: List<Project>()}
Я пытаюсь смоделировать все возможные значения, но получаю «Несоответствие счетчика параметров». ошибка.
Подскажите, пожалуйста, если я здесь что-то не так делаю. Благодарим Вас за помощь и заранее.