首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用油扩展单元测试和模拟robotlegs服务调用

使用油扩展单元测试和模拟robotlegs服务调用
EN

Stack Overflow用户
提问于 2013-07-15 19:35:32
回答 1查看 121关注 0票数 0

我有一个调用从后端检索数据的ExampleService的ExampleModel。我不知道如何为我的应用程序编写单元测试;它的结构如下所示:

ExampleService

代码语言:javascript
复制
public function retrieveMyToDoList(parameters):Promise
{
    var promise:Promise = performRequest({request: "call to backend", parameters:    values, session_id: clientModel.sessionID});
    promise.addResultProcessor(parseRetrieveToDoListResult);
    return promise;
}

protected function parseRetrieveToDoListResult(data:Object, callback:Function):void
{
    does some JSON parsing into an object
    callback(null, object containing my retrieved data)
}

ExampleModel

代码语言:javascript
复制
public function getMyToDoList():Promise
{
    var promise:Promise = exampleService.retrieveToDoList(parameters);
    promise.addResultHandler(onGetToDoListResult);
    promise.addErrorHandler(onGetToDoListError);
    return promise;
}

private function onGetHeadrsByUserResult(promise:Promise):void
{
    // where this event will be listened to by mediators etc
    dispatchEvent(new ResponseEvent(GOOD_RESULT));
}

private function onGetHeadrsByUserError(promise:Promise):void
{
    dispatchEvent(new ResponseEvent(BAD_RESULT));
}

我正在尝试使用asmock来模拟我的服务,这样我就可以测试我的模型以及它如何处理结果对象中的各种结果,但是我如何模拟回调呢?我看到了一些示例,其中的返回值被模仿,但在我的示例中,我使用了Promise和回调,我不太确定如何继续。

如果有人能给我建议的话。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 14:19:32

您可以让模拟服务返回一个真实的promise,并直接调用promise的handleResult方法。

仅供参考:从模型到服务的直接依赖不是一个好主意。您应该让服务操纵模型,或者将来自服务的结果传递给将操纵模型的命令。模型不应该依赖于帮助器类以外的任何东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17653323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档