FlexMonkey将单元测试引入Flex用户界面开发
2009-09-21 00:00:00 来源:WEB开发网我们还可以用这个方法测试非可视化应用程序类中的值。
我们用FlexMonkey's GUI TestRunner加载待测试的SWF和本身就包含测试的SWF,然后运行测试。
虽然我们举的例子有点过分简单,但还是可以很清楚地看到,FlexMonkey利用它强大而又灵活的代码生成功能和定制功能为用户界面场景的录制带来了方便和效率。
UI测试的持续集成
FlexMonkey提供了一个可被ant任务调用的测试运行器,它的输出结果可以与FlexUnit测试混在一起,就像Java的Junit测试一样。使用Junit的junitreport ant任务,FlexMonkey的测试输出可以输出成熟悉的Junit报告样式,如下:
FlexMonkey ant任务首先运行FlexMonkey来加载待测试的SWF以及本身包含测试的SWF。输出通过套接字发回到FlexMonkey ant任务,并被写入磁盘,这使得它们可以与其他Fluint/FlexUnit或者Junit测试输出融合在一起,来为套件中所有的Flex和Java 测试提供综合报表。
由于FlexMonkey可以从ant中运行,因此它可以轻松地集成到使用诸如Cruise Control 或者Hudson框架的持续集成编译中来。
使用Monkey进行自上而下的测试
通过将录制器、代码生成器和一个简单易用的API结合在一起,FlexMonkey可以让开发者在整个开发周期中,为每个应用程序功能创建可靠的自动化用户界面测试,而不用随着用户界面的不断改变而变化。在Flex应用程序中,用户界面与大部分操作紧密联系,FlexMonkey自上而下的测试方法为低层次应用类单元测试提供了一个强大的补充。通过创建测试来执行用户界面,开发人员可以使用最少数量的测试用例来测试最大数量的代码。事实上,通过在一个与远程后端交互的应用程序上运行FlexMonkey测试中,我们可以看到FlexMonkey能够进行从用户界面到数据库乃至外部系统端到端的测试。在持续集成环境中包含这些测试可以为系统提供最大限度的保障,每一处代码改动都不会无意间造成破坏,它们会作为应用系统的一部分而独立运行。
开发人员测试 vs QA测试
虽然一个开发人员可以使用FlexMonkey来创建覆盖所有代码的测试而完全不需要QA测试,但最好还是根据特定技能进行分工,让开发人员处理有代表性的应用程序功能,而把大量需要完全覆盖代码,并且需要在应用上做可怕的事情来看看它是否支撑的住的测试交给QA。FlexMonkey通过提供了一个通用的测试平台满足了开发人员和QA测试人员的需要,这个平台可以让开发人员先行创建测试,并为后续QA人员更加细致的测试提供铺垫。
尽管QA测试囊括一切的性质,有些时候使得它们太脆弱而加入不到持续集成套件中,但还是有可能将它们集成到持续集成环境中的。不管怎样,选择将QA测试加入到集成套件中,可以使得开发人员轻松的建立完整的基础测试。
Tags:FlexMonkey 单元
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接