【发布时间】:2012-07-01 16:24:55
【问题描述】:
假设我有一些 APM (BeginXxx, EndXxx) 模式异步方法(作为我正在调用的某些 WCF 服务代理的一部分):
public interface ISomeService
{
IAsyncResult BeginSomeMethod(int num, AsyncCallback callback, object state);
int EndSomeMethod(IAsyncResult ar);
}
我的实际代码使用Task.Factory.FromAsync 创建一个任务,然后使用.net 4.5 中引入的新异步/等待模式等待这个任务。
我想测试我的类,因此我需要编写一个方法来接收模拟、开始方法、结束方法和返回值,并设置模拟以便最终返回所需的返回值。
示例用法:
SetupAsync(mock, mocked => mocked.BeginSomeMethod, mocked=> mocked.EndSomeMethod, 7);
这将导致带有任何 int 参数的异步流返回 7。 我似乎无法弄清楚如何在最小起订量中完成这样的事情。
【问题讨论】:
标签: c# wcf asynchronous moq async-await