我正在尝试用异步方法模拟测试,但我不知道如何设置moq测试以允许它。
noSQLProvider.Setup(x => x.CreateDocumentAsync(It.IsIn<Uri>(), It.IsAny<object>())).Returns();
错误告诉我:
使用:resourcerresponse x = await CreatDocumentAsync(…);
表达式树不得包含使用可选参数。
我猜你在用这个?
在这种情况下,错误信息非常清楚地告诉你,该方法有可选参数,你需要显式地使用它们:
noSQLProvider.Setup(x => x.CreateDocumentAsync(It.IsIn<Uri>(),
It.IsAny<object>(),
It.IsAny<RequestOptions>(),
It.IsAny<bool>())).Returns();
这个限制与async无关。
NB -我不确定It.IsAny
比较对null的行为如何,所以你可能必须用显式设置该参数为null(这是默认值)的东西替换It.IsAny<RequestOptions>()
。