类似于Java中JUnit的功能,Flash Builder 4中把单元测试框架集成进去了,可以方便的做单元测试。
假设新建了一个测试类,形如下所示: LCTest.AS
package { import flexunit.framework.TestCase; public class LCTest extends TestCase { public function LCTest(methodName:String=null) { super(methodName); } //和JUnit的写法很相似 public function testRegExp():void { var regExp:RegExp = new RegExp("a", "i"); //正则表达式 assertFalse(regExp.test("b")); assertFalse("regExp doesn't match", regExp.test("b")); assertNull(regExp.exec("b")); assertStrictlyEquals("regExp object identity", regExp, regExp); } } } |
如果你新建的是Flex工程,那么必须手动的把flexunit_0.9.swc导入到你的项目中,这个可以在flash builder 4的安装文件下找到,如图示:
如果新建AS3的工程,那么它自动的为你把包加入。
在flex工程,中,测试的写法如下:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:funit="flexunit.flexui.*" //手动设置一个命名空间,方便使用 creationComplete="handleCreateComplete();" minWidth="955" minHeight="600"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import flexunit.framework.TestSuite; private function createTestSuite():TestSuite { var testSuite:TestSuite = new TestSuite(); //新建测试套件 testSuite.addTestSuite(LCTest); //这里添加你的测试用例,可以添加多个 return testSuite; } private function handleCreateComplete():void { testRunner.test = this.createTestSuite(); testRunner.startTest(); } ]]> </fx:Script> <funit:TestRunnerBase id="testRunner" width="100%" height="100%" /> //[继承] Halo VBox 容器将其子项放在同一垂直列上。 </s:Application> |
在AS3工程中,测试更为简单。直接在类文件名上单击右键,出现"执行FlexUnit单元测试"选项,单击即可开始执行。
相关链接:
使用Flash Builder 4 进行单元测试