以下是情景 -
Class 1是帮助类:
class Helper
{
IInterface abc
{
// some code in get and set
get;set;
}
public static string Method1(){
return abc.method();
}
}
现在我有一个控制器类,它有一个动作方法:
public virtual string GetStrFromMethod
{
get
{
return Helper.Method1();
}
}
public ViewResult Action() {
// here I am calling Method1 like this
var str = GetStrFromMethod;
}
现在我想从测试类中伪造虚拟属性,因此我这样做:
var mock = new Moq<ControllerClass>();
mock.SetupGet(x => x.GetStrFromMethod).Returns("str");
当我运行此测试时,我期待当动作查找属性GetStrFromMethod时,它应该返回moq test中设置的假值。但是我在helper class abc properties中遇到以下错误:
“尚未设置程序集目录。”
我知道伪造静态方法的一种方法是包装我已经完成的虚方法。我在这里缺少什么?