`
lp895876294
  • 浏览: 284298 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

FlexUnit单元测试

 
阅读更多

原文:http://www.lifelaf.com/blog/?p=141


FlexUnit是FlashBuilder所自带的单元测试框架,从FlexUnit4.0开始,Test Case由[Test]元数据来指定,Test Case函数不再需要遵循任何命名规范(FlexUnit 4.0之前,Test Case函数名必须以”test”开头)。同时,Test类也不再需要从任何框架类进行继承。下面是两个简单的Test Case:

[Test]
public function addition():void{
    assertEquals(12, simpleMath.add(7,5));}[Test]publicfunction subtraction():void{
    assertEquals(9, simpleMath.subtract(12,3));}

 

Before与After

 

有时候对于Test Case,我们需要在运行Case之前进行一些测试环境的搭建工作,而在测试完成之后又需要对测试用例进行收尾。在FlexUnit 4.0之前,这部分内容是通过覆写setup()方法与teardown()方法来完成的。FlexUnit 4.0引入了Before元数据与After元数据,从而使测试的准备与收尾工作更加灵活 — 任何标记有Before的函数都会在每一个Test Case执行前运行,而任何标记有After的函数都会在每一个Test Case执行后运行:

[Before]
public function runBeforeEveryTest():void{
    simpleMath =newSimpleMath();}[Before]publicfunction alsoRunBeforeEveryTest():void{
    simpleMath1 =newSimpleMath();}[After]publicfunction runAfterEveryTest():void{
    simpleMath =null;
    simpleMath1 =null;}

对于多个Before函数的情况,我们可以通过指定order参数来确定函数的执行顺序:

[Before(order=1)]
public function runFirst():void{//...}[Before(order=2)]publicfunction runSecond():void{//...}

为了遵循FlexUnit 4.0之前版本的使用习惯,Before函数与After函数一般命名为setup()与teardown():

[Before]
public function setup():void{//...}[After]publicfunction teardown():void{//...}

 

BeforeClass与AfterClass

 

标记有Before或者After元数据的函数会在每一个Test方法执行前后运行,而BeforeClass和AfterClass元数据则允许定义静态函数在整个测试类执行前后运行:

[BeforeClass]
public static function runBeforeClass():void{//run for one time before all test cases.}[AfterClass]publicstaticfunction runAfterClass():void{//run for one time after all test cases.}

与Before/After元数据一样,可以定义多个BeforeClass/AfterClass函数,并通过指定order参数来控制函数的运行顺序。

 

测试异常

 

在传统的单元测试中,异常的捕捉与测试可以通过try/catch来实现:

[Test]
public function testIOError():void{try{//code causes an IOError}catch(err:IOError){
        assertEquals(true,true);}

    assertEquals(true,false);}

在FlexUnit 4.0中,Test元数据接受expects参数,从而可以快速的进行异常测试:

[Test(expects="flash.error.IOError")]
public function testIOError():void{//code causes an IOError}
 
分享到:
评论

相关推荐

    Flex持续集成之单元测试

    压缩包中的"flexunit-flexunit-4.1.0-2-g7d4c01c.zip"很可能就是FlexUnit 4.1.0的源码或库文件,开发者可以通过导入这个库到项目中,利用其提供的测试类和方法来构建和执行单元测试。 持续集成(Continuous ...

    flexunit-4.1.0_RC2-4-4.1.0.16076.zip,flexunit 4

    FlexUnit 4 是一个针对Adobe Flex应用程序的自动化测试框架,它是基于JUnit的单元测试工具的Flex版本。这个压缩包“flexunit-4.1.0_RC2-4-4.1.0.16076.zip”包含了FlexUnit 4的特定版本,即4.1.0 RC2 (Release ...

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

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

    flexunit 详细简单用例里面带有flexunit.swc包

    FlexUnit 是一款强大的ActionScript测试框架,主要用于编写和运行针对Adobe Flex、Flash Player以及Adobe AIR应用的单元测试。它借鉴了JUnit的模式,为开发人员提供了一种结构化的方法来验证代码的功能,确保软件的...

    flex3的cookbook书籍完整版dpf(包含目录)

    FlexUnit单元测试(742) 24.1节. 创建应用FlexUnit框架的应用程序 24.2节. 运行FlexUnit单元测试 24.3节. 创建FlexUnit测试用例 24.4节. 添加测试用例到测试集合 24.5节. 在测试前后运行代码 24.6节. 测试用例之间...

    FlexUnit,Flex调试专用插件!

    FlexUnit是针对Adobe Flex开发的一款专业测试框架,它为Flex应用程序提供单元测试的能力,使得开发者能够在编码阶段就发现和修复问题,从而提高软件质量和可靠性。FlexBuilder4(后来被称为Flash Builder)是Adobe...

    FlexUnit4熟悉与使用

    FlexUnit4 是一款针对ActionScript和Flex应用程序的单元测试框架,它的设计灵感来源于Java的JUnit。这个框架的主要目的是为了帮助开发者编写和运行针对Flex应用程序的自动化测试,确保代码的正确性和稳定性。 ...

    FlexUnit4.1

    Flex当前炙手可热的RIA技术,FlexUnit使Flex开发的单元测试成为可能。FlexUnit的目标和思想与JUnit都是差不多的,在此不赘述。FlexUnit也经历了几个版本,目前最新的稳定版是1.0RC版,已经支持了标注式的test,非常...

    flexunit ant版本里面有ant的详细配置

    FlexUnit是一个单元测试框架,用于测试ActionScript和Flex应用程序,而Ant是一个开源的构建工具,它使用XML来定义项目构建过程,包括编译、打包、测试等任务。 在Flex开发环境中,Ant经常被用来自动化构建流程,...

    flex-unit包

    在Flex项目开发中,单元测试是确保代码质量和可维护性的重要环节。 此包包含了多个关键文件,每个文件都有其特定的作用: 1. **LICENSE**:这是软件的许可协议文件,通常包含使用、分发和修改该软件的法律条款。...

    fd-unit:用于单元测试的FlashDevelop 4插件

    `fd-unit` 是一个专为FlashDevelop 4设计的插件,旨在帮助Flash开发者进行单元测试,特别是针对使用FlexUnit4框架的项目。FlashDevelop是一款流行的开源集成开发环境(IDE),主要用来编写ActionScript 3、Flex以及...

    flex测试总结

    我们可以使用ASUnit、FlexUnit或Spock这样的测试框架来编写和执行单元测试。 2. **集成测试**:当多个组件协同工作时,我们需要进行集成测试以确保它们之间的交互无误。Flex Builder或Maven插件可以帮助管理这种...

Global site tag (gtag.js) - Google Analytics