`
arlxy
  • 浏览: 39178 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

关于FLEX 3.0的单元测试

    博客分类:
  • FLEX
阅读更多

1.        首先下载所需的包,地址: http://tomorrow009.iteye.com/admin/blogs/579249 本文采用的是 4.0.0RC1.0 版本。

2.        将下载包解压后是一个名为 FlexUnit4TurnkeyRC_1.0 FLEX 工程,你可以直接导入到 FLEX BUIDER 作为参考示例。

3.        FLEX BUIDER 中建立一个项目,项目结构如下

 最终截图:如附件图1

建立项目时需要将我们要用到的单元测试类包引入,类包路径为 FlexUnit4TurnkeyRC_1.0/ libs/ FlexUnit4.swc FlexUnit4TurnkeyRC_1.0/ libs FlexUnit4UIListener.swc

最终截图:如附件图2

4.          bl.as 是将要进行单元测试的目标类, testcase.as bl.as 类测试用例类, suite.as 则可以将 testcase 作为资源引入,当进行大规模的整体测试时,此种做法的优势显而易见。

5.        bl.as 代码如下:

package bl

{

    public class bl

    {

       public function bl()

       {

       }

 

     public function add(a:Number,b:Number):Number{

          

             return a+b;  

     }

       

    public function dec(a:Number,b:Number):Number{

    return a-b;

 

    }

     

    public function isTrue(a:Boolean):Boolean{

    return a;

    }

 

     public function isFalse(a:Boolean):Boolean{

    return a;

     

     

    }

}

6.  testcase.as 代码如下  

package testcase

{

    import bl.bl;

    import org.flexunit.asserts.assertEquals;

    import org.flexunit.asserts.assertFalse;

    import org.flexunit.asserts.assertTrue;

   

    public class testcase

    {

       private static var b:bl;

       public function testcase()

       {

       }

       [BeforeClass]

      

       public static function runBeforeClass(): void {

         trace ( "runBeforeClass" );

         b= new bl;

       }

 

       [AfterClass]

      

       public static function renAfterClass(): void {

         trace ( "runAfterClass" );

       }

      

       [Test]

      

       public function aa(): void {

             assertEquals(3,b.add(1,2));

       }

      

       [Test]

      

       public function bb(): void {

             assertEquals(3,b.dec(6,3));

       }

       [Test]

      

       public function cc(): void {

             assertFalse(b.isFalse( false ));

       }

 

       [Test]

       public function dd(): void {

            assertTrue(b.isTrue( true ));

        

       }

      

    }

}

这里用到的元标签 [BeforeClass] [AfterClass] [Test]

[BeforeClass] 的含义就是实例化此类之前先执行该标签指定的方法(该标签的第一个方法),所以我们需要将该标签指定的方法声明为 static.

[AfterClass] 的含义是当实例化此类之后,并且执行完此类的所有声明为 [Test] 的方法后,执行该标签制定的方法,所有此标签指定的方法也应该声明为 static.

 

所以该类的执行顺序为:

 

runBeforeClass()->testcase()->aa()->bb()->cc()->dd()->runBeforeClass();

 

testcase() 为构造函数

 

诸如 assertEquals() 等函数没有什么可讲的,如 junit 没什么不同。

 

7.  suite.as 代码如下

 

package suite

{

    import testcase.testcase;

    [Suite]

    [RunWith( "org.flexunit.runners.Suite" )]

    public class suite

    {

       public var _testcase:testcase;

      

       public function suite()

       {

       }

    }

}

 

标签是告诉编译器如何编译,不作为最终编译代码。

[Suite]

[RunWith( "org.flexunit.runners.Suite" )] 含义为是说这里为单元测试的代理站点。

 

这里将 testcase 测试用例类作为属性引入,如果你有多个测试用例,那你就可以声明多个属性。

 

8.  FlexDemoApp.mxml 代码

 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml " layout=" absolute " xmlns:flexUnitUIRunner=" http://www.adobe.com/2009/flexUnitUIRunner " creationComplete="init()" >

    <mx:Script>

       <![CDATA[

           import mx.controls.List;

           import suite.suite;

 

           import org.flexunit.listeners.UIListener;

           import org.flexunit.runner.FlexUnitCore;

 

           public var core:FlexUnitCore;

           public function init(): void {  

           core= new FlexUnitCore();

           core.addListener( new UIListener(testrunbase));

           core.run(suite);

            

       ]]>

    </mx:Script>

<flexUnitUIRunner:TestRunnerBase width=" 100% " height=" 100% " id=" testrunbase " />  

</mx:Application>

FlexUnit 为我们提供的单元测试的视图组件(当然你可以也可以自己写视图组件,视情况而定),当组件加载完毕后,我们执行了 init() 方法,这个方法的作用是 首先创建一个视图组件监听器,即 new UIListener(testrunbase) ,将该组件监听器做为参数传给 core.addListener() 方法,然后运行站点,当然你有多个站点,像如下运行

  Core.run(suite1,suite2,...,suiteN);

 

 

 

最终截图:如附件图3

  • 大小: 5.2 KB
  • 大小: 29.6 KB
  • 大小: 28.2 KB
1
1
分享到:
评论

相关推荐

    Flex3.0RIA开发详解电子教程25

    Flex3.0提供了单元测试工具,如FlexUnit,便于编写和执行测试用例。同时,通过优化组件使用、减少数据交换、缓存策略等方式,可以提升Flex应用的性能。 综上所述,"Flex3.0 RIA开发详解电子教程25"应该涵盖了上述...

    完全手册Flex3.0RIA开发详解.rar

    11. **测试与部署**:最后,了解如何使用FlexUnit进行单元测试,以及将Flex应用发布到各种平台(如Web、桌面或移动设备)的方法也是必不可少的。 通过阅读《Flex 3.0 RIA 开发详解》,开发者能够深入理解Flex 3.0的...

    Flex3.0RIA开发详解电子教程14

    10. **测试和调试**:FlexBuilder提供了强大的测试和调试工具,包括FlexUnit单元测试框架,理解如何有效地使用这些工具可以提高开发效率。 通过学习“Flex3.0 RIA开发详解电子教程14”,开发者不仅可以掌握Flex的...

    flex3.0+spring2.5+hibernate3.2

    5. 测试和优化:进行单元测试和集成测试,确保所有组件协同工作,并根据性能需求进行优化。 "源码"标签可能意味着该资源包含示例代码或者完整的项目源代码,帮助学习者理解实际的实现细节。"工具"标签可能涵盖了...

    Flex持续集成之单元测试

    压缩包内的"Flash持续集成自动化单元测试_软件测试_酷勤网.htm"和"持续集成在Flex项目中的应用.pdf"可能是关于如何在Flex项目中实施持续集成和自动化单元测试的教程或文章。这些资源可能详细介绍了如何配置CI服务器...

    activescript 3.0 类库 帮助手册

    10. **调试和测试**:介绍如何使用Visual Studio或其他工具对ActiveScript 3.0代码进行调试,以及编写单元测试以确保代码质量。 通过深入阅读和理解《Activescript 3.0 类库帮助手册》,开发者可以全面掌握这一编程...

    Foundation ActionScript3.0 with Flash CS3 and Flex

    作者分享了许多提高代码执行效率和可维护性的技巧,如内存管理、循环优化、避免过度渲染等,以及遵循良好的编码习惯,如代码重构和单元测试,确保读者能够编写出高质量的ActionScript3.0代码。 总之,《Foundation ...

    Flex教程(PPT)

    同时,单元测试框架如FlexUnit也是确保代码质量的重要工具。 这个PPT教程将逐步引导学习者从基础到高级,掌握Flex 3.0的各个方面,包括安装环境、创建第一个项目、组件使用、数据绑定、网络通信、图形和动画、事件...

    Flex教程+开发中文文档Flex教程+开发中文文档

    Flex应用的测试包括单元测试、集成测试和性能测试。完成开发后,Flex应用可以打包为SWF文件或AIR应用程序,发布到Web或桌面环境。 通过学习Flex教程和开发中文文档,开发者能够掌握Flex的各个方面,从基础概念到...

    Flex3学习指南-是初学者学习Flex必备资料2

    10. **测试和调试**: 使用Flex Builder的内置工具进行单元测试和调试,确保代码的质量和功能的正确性。 11. **国际化和本地化**: Flex应用程序可以支持多种语言,通过使用资源管理器和配置文件实现国际化和本地化。...

    flex3

    同时,单元测试和集成测试也是保证代码质量的关键环节。 通过学习和掌握以上知识点,开发者能够充分利用Flex3创建出富有吸引力、功能强大的Web应用程序。无论是企业级应用还是个人项目,Flex3都提供了丰富的工具和...

    flex4 学习资料

    15. **调试和测试**:学会使用Flex Builder的调试工具,进行代码调试、性能分析和单元测试。 通过这个“flex4 学习资料”压缩包,你可以深入学习以上各个知识点,并逐步精通Flex4开发。无论是初学者还是有经验的...

    Flex4实战代码

    CH19 - "测试与调试":讲解了在Flex开发过程中如何进行有效的测试和调试,包括使用Flex Builder的内置工具以及编写单元测试。 CH26 - "实战案例":这部分可能是实际项目或复杂场景的应用实例,通过这些例子,读者...

    Flex.3实战.(美)艾哈迈德(美)赫希(美)阿比德.扫描版 523页 完整版

    9. **测试与调试**:介绍Flex的测试工具,如Flex Builder的内置调试器,以及如何进行单元测试和性能测试。 10. **部署与发布**:讲解如何配置和发布Flex应用程序,包括不同的部署选项,如本地桌面、Web服务器和移动...

    精通FLEX源代码08

    10. **调试与测试**:Flex Builder提供的强大的调试工具可以帮助开发者定位和修复问题,理解如何使用这些工具以及编写单元测试是保证代码质量的重要环节。 通过深入学习《精通FLEX源代码08》中的内容,开发者不仅...

    Flex4 spring整合实例

    此外,Spring的测试框架也可以应用于Flex4应用的单元测试,提高了整体项目的质量保证。 在"flex-spring"这个压缩包中,可能包含了示例代码、配置文件和相关的文档,可以帮助开发者快速理解并实践Flex4与Spring的...

    Flex_3_RIA开发详解与精深实践.pdf

    11. **测试和部署**:介绍Flex应用的测试方法,包括单元测试、集成测试以及发布和部署流程。 12. **最佳实践**:分享Flex开发过程中的最佳实践和常见陷阱,帮助开发者避免常见错误。 通过这本书的学习,开发者不仅...

Global site tag (gtag.js) - Google Analytics