可靠的ActionScript模拟框架?

时间:2009-07-04 07:55:02

标签: unit-testing actionscript mocking

我正在寻找一个可靠的ActionScript模拟框架。我一直在使用mock-as3,但我对我觉得触发事件的黑客解决方案感到恼火。还有其他一些其他原因,我想有一些选择,但不确定我是否一定需要进入它们。我也研究过Mock4AS,但界面看起来很麻烦。任何发现都将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:6)

asmock是一个动态模拟框架,支持触发事件作为对被调用方法的响应。尽管仍然有“beta”monikor,它已被用于多个生产应用程序(包括在持续集成服务器内)。

您可以将它用于您的目的:

var mock : ISometInterface = ISometInterface(mockFactory.createStrict(ISometInterface));
SetupResult.forEventDispatcher(mock); // stubs the IEventDispatcher methods
SetupResult.forCall(mock.someMethod())
           .dispatchEvent(new Event()); // dispatch an event when someMethod is called
mockFactory.replayAll();

mock.someMethod(); // will dispatch the event

如果您在使用asmock时遇到任何问题(或者想要特别做某事),请通过sourceforge向我发送邮件或提出错误请求。

基于我为asmock所做的动态字节码生成的新项目已经弹出,名为mockito(来自java框架的一个端口)。

答案 1 :(得分:0)

不,实际上没有任何这样的东西(我知道)...在我看来,模拟as3是你能得到的最好的......有一个open issue on adobe jira,希望是有一天,这将解决许多问题......实现适当的嘲弄只是一个优势......

格尔茨

back2dos

答案 2 :(得分:-1)

我很想知道为什么你认为Mock4AS界面很麻烦。也许我们可以改进它。通常你只需要使用一些调用:mock()在你的模拟中。你的测试中的expected(),也许是withArgs()或withArg()。然后是assertTrue(mock.success());

我们提供了一些额外的功能,如willReturn()和willThrow()。

此外,我即将推送更改,以便您还可以设置deepCompare()来比较对象/数组内容,而不仅仅是通过引用进行比较。

对于调度事件,我创建了一个MockEventDispatcher。我只是让它调度我想要的事件:mock.dispatchEvent(someEvent);

任何反馈都将不胜感激。

感谢。

-jP