问题描述
我尝试使用FakeItEasy运行一些测试,我的目的是将一个方法替换为另一个方法以获取不同的返回值。对我而言,棘手的事情是将原始调用参数重定向到replace方法。调用工作正常,但不要更改结果。 (我可能做错了什么)
这就是我想出的
Func<string,string> func = delegate (string request)
{
return $"Replaced {request}";
};
var service = A.Fake<MyService>();
A.CallTo(() => service.DoAction(A<string>._)).Returns<string>(func(A<string>._));
// func(A<string>._) cause an exception,i need to have arg from DoAction here
// following line works fine but dont change return
A.CallTo(() => service.DoAction(A<string>._)).Invokes((string request) => func(request));
// result is empty here but should have "Replaced Test"
var result = service.DoAction("Test");
有人可以指出我正确的方向吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)