首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Flash的AS3代码单元测试

Flash的AS3代码单元测试
EN

Stack Overflow用户
提问于 2011-02-06 05:58:39
回答 2查看 6.5K关注 0票数 18

我正试图通过为我的Flash3代码编写单元测试来改进我的代码,但是我在理解如何在ActionScript程序的上下文中处理它时遇到了一个心理障碍。我似乎无法理解如何处理addChild和stage之类的事情,以及闪存应用程序中典型的异步处理(addEventListeners用于等待加载的东西,等等)。它真的和其他语言有什么不同吗?开发人员如何处理Flash程序的独特环境?

以下是几点说明:

  • 这与Flex无关,根本不涉及Flex。
  • 程序只涉及AS3代码文件和包含资产的FLA。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-06 06:44:51

问得好。选择项目的哪些部分进行测试是一个挑战--单个类或多个类,或者两者兼而有之。

尽管围绕用户界面测试的测试可以捕获许多逻辑和事件错误,但UI通常是可能发生大量奇怪事情的地方。Flash项目中的许多错误可能是由于意想不到的用户交互模式造成的--基本上,beta测试人员会在UI中做一些你从未想过会做的事情。

如果您的项目是由用户交互驱动的,尤其是面向游戏的,而不是面向RIA的,那么计划一组良好的测试序列与测试本身一样重要。例如,您可以先尝试操作A,然后再尝试操作B,因为您知道B依赖于A,因为这是您编写它的方式。测试人员可能会在A之前尝试B,这是您可能没有预料到的场景,如果A和B作为单元独立测试,则不会被捕获。这也可能意味着您想要编写3到4个测试:A、B、A->B和B->A,因此状态的数量可能会变得无法控制。

需要考虑的是像Flexunit这样的测试框架可以自动执行许多任务。

编辑:我要指出的是,FlexUnit同样适用于纯AS3。

票数 11
EN

Stack Overflow用户

发布于 2011-02-06 06:07:00

我喜欢从前端显示内容中抽象出应用程序逻辑。我不认为对前端/显示内容进行单元测试是非常有用的,但您可以对系统的内部逻辑和功能进行单元测试。它是MVC设计模式。

例如:假设你有一个Flash游戏,其中有一个玩家可以攻击敌人。您可能有一个类Player、一个类Monster和一个方法Player.attack(monster:Monster)

您的单元测试将在PlayerMonster中设置值,并调用attack(),然后确保结果正确。

您的前端显示、舞台、可单击对象等和UI也会在实际环境中适当的时候调用这些对象。

单元测试将在一个单独的.swf文件中运行,该文件执行导入模型对象(PlayerMonster和您可能拥有的任何其他对象)的测试,但完全忽略所有视觉/显示元素。我会避免单元测试任何涉及用户交互的东西。

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

https://stackoverflow.com/questions/4909959

复制
相关文章

相似问题

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