我可以使用MoQ和NUnit验证是否在lambda语句中执行了代码吗?

时间:2016-05-05 14:20:07

标签: c# nunit moq

我是C#的新手,试图测试我的异步服务调用:

interface IService
{
    void doSomething(string param, Action success, Action failure);
}

我知道它的javascript模式,但是我可以测试与此类似的代码:

实际实施

service.doSomething("Param", (() => view.showSuccess()), (() => view.showError());

测试

service
.Setup(s => s.doSomething(It.IsAny<string>, It.isAny<Action>, It.isAny<Action>)
.Callback(<string, Action, Action>((param, success, failure) => success())

view.verify(v => v.showSuccess(), Times.Once);

测试失败,看起来lambda中的代码永远不会被执行,我怎样才能测试我的类是否按照服务回调来执行我想要的操作?

0 个答案:

没有答案