首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >现有Flash组件的自动测试(非UI)

现有Flash组件的自动测试(非UI)
EN

Stack Overflow用户
提问于 2008-10-20 19:20:38
回答 3查看 1.8K关注 0票数 3

我构建和维护了一组Flash组件,这些组件分发给发行商,并允许它们与我们的系统集成。目前,该组件没有UI,只包含用于查询系统服务器、解析响应和修改查询中发送的参数的编译代码。Flex和As2都有AS3版本和CS3版本。我们典型的工作流程如下:

1.)加载组件2。)在组件3上设置参数。)告诉组件查询我们的系统4。)等待一个事件,说响应已经收到并解析了5)。调用组件上的方法以检索和使用已解析的数据

最近,我们一直在谈论自动化这些组件的测试,而像AsUnit和FlexUnit这样的框架似乎有很多传言。然而,我从未能够理解如何有效地使用其中之一。示例和教程总是简单介绍真实的示例,而是提供多个类和过多的代码来测试一个示例函数是否返回num1+num2。

我唯一能猜到的是,这些测试框架打算从一开始就实现,为测试套件、测试运行程序和在开发开始时内置的测试用例进行规划。

组件的自动化测试必须确保正确设置属性,将这些属性在请求中发送到我们的系统,考虑到发送的参数,接收到的响应是正确的,解析的数据包括正确的信息,并且不会导致错误、不良响应或无限解析循环。

我的问题是,是否有任何方法可以自动测试现有的、广泛分布的、已建立的Flash组件,而不完全修改它以适应测试框架?还是我误解了测试框架,这是可能的?

更新:谢谢你的回复。我已经开始将我的组件集成到AsUnit中,并认为我对它如何帮助我有了很好的理解。然而,AS2 AsUnit不支持异步测试用例,而且我很难找到一个这样做的AS2单元测试框架。异步测试对此项目非常重要。有人对不同的框架有什么建议吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-20 20:14:06

我们在我们的项目中使用FlexUnit,我对此非常满意。假设您的项目是以相当松散的耦合程度设计的,那么您就不需要为了测试您的代码而改变太多(如果有的话)。如果您已经在使用像凯恩贡姆PureMVC这样的MVC框架,那么FlexUnit应该可以毫无痛苦地集成。

不过,我要说的是,由于三个原因,我在Flash/Flex单元测试方面的经验与其他语言(如Ruby或.NET )相比几乎没有那么好。首先,如此高级别的actionscript代码与UI相关,这类代码很难(如果不是不可能)进行测试。另一个原因是测试运行程序不能很好地插入连续集成环境(如CruiseControl.NETCruiseControl.rb ),因为它需要人工运行并单击按钮。最后,单元测试的一个巨大好处是,您通常可以与覆盖分析工具(如NCoverrcov )一起运行它。如果没有修改过的编译器(如挠曲盖 ),Flash/Flex就无法进行这种分析。

票数 3
EN

Stack Overflow用户

发布于 2009-05-11 21:13:11

很高兴听到你和AsUnit一起去了!

AsUnit是唯一能够让您在ActionScript 2和ActionScript 3中获得一致经验的单元测试框架。它不依赖于任何外部框架--特别是Flex,而且在事后为项目创建测试应该没有真正的问题。

AsUnit的最新版本确实支持ActionScript 2中的异步测试。

http://github.com/lukebayes/asunit

票数 2
EN

Stack Overflow用户

发布于 2008-10-21 13:06:41

虽然我从来没有机会使用actionscript中的单元测试器,但在工作中我们创建了一个框架:

  1. 在测试应用程序中编译脚本,在我们的例子中使用flex
  2. 设置计时器(看门狗)应用程序,以防循环失败
  3. 运行应用程序,依次为:
    • 连接到PHP后端以获得测试用例
    • 对组件进行测试
    • 阅读结果并将其发回

  1. 不管先发生什么,监督狗都会启动并关闭应用程序:。
    • 计时器超时(合理超时)
    • 应用程序将结果发回

  1. 如果还有其他测试要运行,goto 2。

绝对不优雅,但做了(这是与AS1脚本)

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

https://stackoverflow.com/questions/219549

复制
相关文章

相似问题

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