我的目标是能够将setup方法保存在一个地方,而不是我所有的测试类。我想构建一个lamda表达式并直接将它发送到set up方法。 但是我只能发送2种类型的lamda表达式进行设置, 没有任何返回类型,或只返回类型没有参数。 有没有办法解决? 如果我做了以下示例设置不让程序编译。
Mock<Message> mock = new Mock<Message>();
ParameterExpression instance =
Expression.Parameter(typeof(Message), "i");
ParameterExpression param =
Expression.Parameter(typeof(string), "str");
Expression methodCall =
Expression.Call(instance, typeof(Message).GetMethod("gettime"),param);
var lambda =
Expression.Lambda<Func<Message,string,string>>(methodCall, instance,param);
Message类看起来像。
public class Message
{
public virtual string gettime (string str)
{
return str + DateTime.Now.ToString();
}
}
答案 0 :(得分:0)
Ufuk是对的,你应该开始进行简单的测试。如果你有这么多的复杂性,你做错了。一些选项基于我认为是您的目标: