如何使用声明?

时间:2014-02-27 22:48:45

标签: .net unit-testing c#-4.0 microsoft-fakes

我有一个类似于以下的方法:

public List<EmployeeReports> MyMethod (int empId, DateTime startDate)
{
  using(SomeEntities se = new SomeEntities())
  {
   List<EmployeeReports> reports = se.EmployeeReports
   .Where(x => x.EmployeeId == empId
   && DateTime.Compare(x.DateEntered, startDate).ToList();
  }

 return reports;
}

这是数据库的实体框架对象。

如何使用块进行填充?

2 个答案:

答案 0 :(得分:3)

我会通过接口抽象SomeEntities类,这样你就可以在测试中注入相同接口的替代实现。

答案 1 :(得分:1)

停止在任何代码中使用 关键字。 如果 SomeEntities 非常必要,请将其传递给类的构造函数(构造函数Injection)。 如果需要覆盖 SomeEntities ,并且分配不是创建类对象的主要要求,并确保 SomeEntities