文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>利用flexunit进行单元测试一(同步测试)

利用flexunit进行单元测试一(同步测试)

时间:2009-07-03  来源:panzt

转自:http://www.flexers.cn/wordpress/?p=20

先扯两句:

单元测试的重要性我就不扯了,现在都是分模块开发,如何保证你交给队友的模块是正确的,无bug的,对于项目整体开发效率提升来说尤为重要。

PS之前搞过junit或者testng的java程序员应该很容易上手这篇教程,只需侧重于异步测试部分的讲解即可

准备工作

下载flexunit类包,下载地址http://download.macromedia.com/pub/opensource/flexunit/flexunit0_9.zip

flexunit的”官方”站点位于

http://opensource.adobe.com/wiki/display/flexunit/FlexUnit ,你可以看到更为详细的英文development document

将下载的类包添加到项目中(*.swc)

用过junit等java单元测试工具的朋友会说,在eclipse下进行as3的单元测试,不需要安装什么plugins吗?

其实flexunit的开发人员就地取材,利用flex做了测试报告界面。

swc加载进project后,你会在你design界面的custom components里看到一些新组建,

这就是flexunit提供给我们的报告界面。

new一个application。将TestRunnerBase拖入

为这个mxml设置一个id = “testRunner”

假设我们接下来要对以下这个类中的add方法进行单元测试

package com.momoko.project.util { public class MathUtil { public function add(a:Number,b:Number):Number { return a+b; } } }

接下去我们写TestCase,我们可以重写setUp()和tearDown()方法来初始化和回收一些对象,注意testCase的构造函数必须这样实现。 另外你需要测试的function必须是无参的(flexunit和junit类似,不像testng这么灵活,如果你想要传递参数其实也是可以办到的,不过需要hack源码了), 写下断言后,这个testCase就ok了

public class MathUtilTest extends TestCase { private var mathUtil:MathUtil;   public function MathUtilTest(methodName:String=null) { super(methodName); }   override public function setUp():void { mathUtil = new MathUtil(); super.setUp(); }   public function testAdd():void { var a:Number = 1; var b:Number = 2; var sum:Number = a+b; Assert.assertEquals(sum,mathUtil.add(a,b)); }   override public function tearDown():void { mathUtil = null; super.tearDown(); } }

然后我们回到之前的mxml中,加入如下代码。

import com.momoko.project.util.test.MathUtilTest; import flexunit.framework.TestSuite; private var suite:TestSuite; //creationComplete="init()" private function init():void { testRunner.test = getSuite(); testRunner.startTest(); }   private function getSuite():TestSuite { suite = new TestSuite(); suite.addTest(new MathUtilTest("testAdd")); return suite; }

run application后你就会看到测试结果了

如果断言失败则显示错误信息,别与查错

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载