我是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中的代码永远不会被执行,我怎样才能测试我的类是否按照服务回调来执行我想要的操作?