flash - Flash 的单元测试 AS3 代码

标签 flash actionscript-3 unit-testing

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

一些澄清:

  • 这与 Flex 无关,根本不涉及 Flex。
  • 程序仅涉及 AS3 代码文件和包含 Assets 的 FLA。
  • 最佳答案

    好问题。选择要测试项目的哪些部分是一个挑战——单个类或类集合,或两者兼而有之。

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

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

    需要考虑的是像 Flexunit 这样的测试框架来自动化许多任务。

    编辑:我应该注意到 FlexUnit 也适用于纯 AS3。

    关于flash - Flash 的单元测试 AS3 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909959/

    相关文章:

    java - 开发GUI程序

    PHP可以被SWF独占访问

    actionscript-3 - 为每台计算机生成静态唯一 ID,而不将其存储在本地 ActionScript 中

    java - Spring 启动 : How to override default properties in Unit tests

    python - 如何从unittest框架中的另一个测试调用测试方法?

    javascript - 在网页上并行或按顺序下载和运行多个 Flash 影片

    actionscript-3 - 有没有办法在运行时在 swf 中呈现 svg 数据?

    actionscript-3 - AIR - 设置 NativeWindow 的大小以包含系统镶边

    performance - Flash 如何处理我的匿名函数?

    javascript - Jasmine 单元测试模拟一个 promise