模拟as3调度事件以进行单元测试

时间:2013-07-10 11:56:59

标签: actionscript-3 flash unit-testing mocking asmock

我正在编写一些单元测试,并希望测试我的组件如何对某些特定的Flash事件做出反应。所以我需要一种方法来发送这些事件。我认为那是可能的。

我正在尝试使用asmock,但试图将http://asmock.sourceforge.net/wiki/Quick_Start_Guide中的信息拼凑起来让我失望。

如果有人能指出我一个完整的例子,那就太好了! 也可以使用其他测试框架。

谢谢!

2 个答案:

答案 0 :(得分:0)

嗯,那怎么样:

public class  EventSimulator extends EventDispatcher
{
    public function doMouseClick():void {
        dispatchEvent(new MouseEvent(MouseEvent.CLICK));
    }

    public function doChange():void {
        dispatchEvent(new Event(Event.CHANGE));
    }
    //and so on..
}

答案 1 :(得分:0)

如果你已经使用asMock,那么你可以这样做:

var dispatcher2 : IEventDispatcher = 
 IEventDispatcher(mockRepository.createStub(IEventDispatcher, StubOptions.NONE));
mockRepository.stubEvents(dispatcher2);

// Call mockRepository.dispatchEvent() or .addEventListener() as normal

然而,如果你不是,那么按照ZuzEL的回答,按照模拟将是矫枉过正的。

(免责声明:我是asMock的作者,那个文档)