首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将ASMock获取到Dipatch事件

无法将ASMock获取到Dipatch事件
EN

Stack Overflow用户
提问于 2010-12-31 00:16:45
回答 2查看 340关注 0票数 0

我找不到我的错误,希望有人能帮我。我正在尝试使用ASMock对我的actionscript应用程序进行单元测试。我想执行一个异步测试,但是我没有把我的模拟函数分派出去。这是我所做的:

代码语言:javascript
复制
[Test(async,timeout="5000")]
public function testFailedIDResponse() : void {
  var mockRepository : MockRepository = new MockRepository();

//记录

代码语言:javascript
复制
var oMock:ConnectionProcessor  = ConnectionProcessor(mockRepository.createStub(ConnectionProcessor));
oMock.addEventListener("ConnectionProcessor.LOGICALERROR", Async.asyncHandler(this, onWrongID, 5000)); 
SetupResult.forCall(oMock.logigalErrorCode).returnValue("NOT_FOUND");
SetupResult.forEventDispatcher(oMock);
SetupResult.forCall(oMock.load()).dispatchEvent(new Event("ConnectionProcessor.LOGICALERROR"));
mockRepository.replayAll();
oMock.load();

但是事件永远不会到达我的onWrongID处理程序。我的错误在哪里?非常感谢各位!

EN

回答 2

Stack Overflow用户

发布于 2011-05-21 22:59:12

您需要将呼叫转移到replayAll之后的addEventListener。现在,它只是记录您对addEventListener的呼叫。

票数 1
EN

Stack Overflow用户

发布于 2011-04-01 00:49:30

您只需从模拟对象调用dispatchEvent-method即可。

例如:

代码语言:javascript
复制
oMock.dispatchEvent(new Event("ConnectionProcessor.LOGICALERROR"));

然后你的类/方法/..。在测试下将能够处理该事件。

或者,如果您希望load方法在使用

代码语言:javascript
复制
Expect.call(oMock.load()).dispatchEvent(new Event("ConnectionProcessor.LOGICALERROR"));

希望这能帮上忙。br

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

https://stackoverflow.com/questions/4564228

复制
相关文章

相似问题

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