Goa*_*ine 3 action anonymous moq callback func
我有一个服务的方法需要两个Actions,一个用于成功,一个用于失败.每个Action都带有一个包含附加信息的Result参数......
void AuthoriseUser(AuthDetails loginDetails,
Action<AuthResult> onSuccess,
Action<AuthResult> onFailure);
Run Code Online (Sandbox Code Playgroud)
我正在为依赖于该服务的类编写单元测试,我想测试这个类在onSuccess(...)和onFailure(...)回调中做了正确的事情.这些是私有或匿名方法,那么如何设置模拟服务来调用Action?
nem*_*esv 12
您可以使用该Callback方法(另请参阅Moq快速入门回调部分)来配置回调,该回调使用模拟方法call(AuthoriseUser)的原始参数进行调用,以便您可以在那里调用onSuccess和onFailure回调:
var moq = new Mock<IMyService>();
moq.Setup(m => m.AuthoriseUser(It.IsAny<AuthDetails>(),
It.IsAny<Action<AuthResult>>(),
It.IsAny<Action<AuthResult>>()))
.Callback<AuthDetails, Action<AuthResult>, Action<AuthResult>>(
(loginDetails, onSuccess, onFailure) =>
{
onSuccess(new AuthResult()); // fire onSuccess
onFailure(new AuthResult()); // fire onFailure
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6726 次 |
| 最近记录: |