我已经获得了一些遗留代码来添加单元测试。我可以在必要时为需要实例化的类添加填充程序,但是一些代码使用静态类。我无法正确添加垫片。
例如(为简洁起见而简化):
public static class DBHelper
{
public static ObservableCollection<Run> GetRuns()
{
ObservableCollection<Run> retval = new ObservableCollection<Run>();
using (AriaEntities DBC = new AriaEntities())
{
var res = DBC.Runs.OrderByDescending(x => x.Run_Number).Take(100).ToList();
retval = new ObservableCollection<Run>(res);
}
return retval;
}
}
我想要使用这种方法。如果它不是静态的,我会使用:
using (ShimsContext.Create())
{
ShimDBHelper.AllInstances.GetRuns = (i) => { return FakeRunList(); };
...
}
但是静态的我得到了&#34;&#39; DBHelper&#39;:静态类型不能用作参数&#34;。如果我删除参数,我会被告知委托不接受0参数。
什么是静态类的语法,如果有的话?