在 FlashDevelop4 中使用 ASUnit 单元测试框架
2013-01-08 16:13
585 查看
1. 下载 ASUnit 框架
到官网 http://www.asunit.org 下载框架源代码包。
2. 创建新项目
在 FlashDevelop 中创建一个新项目,具体方法参加 FlashDevelop 帮助手册。
3. 将 ASUnit 添加到项目中
在项目的属性面板中,切换到"Classpaths"选项,将 ASUnit 代码路径加入到项目的 classpaths 中,具体添加的应该是 ASUnit 代码包下的 as3\src 子目录。
添加 classpath 后 ASUnit 的代码将出现在项目树中:
4. 添加测试程序代码
首先为测试程序创建一个独立的一级子目录 tests(和src目录同级),与项目功能代码 src 隔离开更易于管理。在 tests 下创建子目录 src/test,test是包名,可以按个人喜好设置,比如与项目代码结构保持一致。
在 tests/src/test 目录下创建 AllTests.as 类文件,该类需要继承自 asunit.framework.TestSuite,需要执行的测试用例都在该类中添加,示例代码:
再创建一个具体的测试用例代码文件,例如:TestFirstTry.as,该类需要继承自 asunit.framework.TestCase,示例代码:
在 AllTests 中添加测试用例,在调用 TestSuite.addTest 方法时如果没有指定待测试的 TestCase 的某一具体方法名(TestCase 子类构造函数的参数),那么 TestCase 子类中所有方法名以 test 开头的都将被执行!这个特性很便于对功能模块进行整体测试。
最后,在 Main.as 中添加单元测试启动代码:
5. 执行单元测试
编译运行项目将看见下面的输出内容:
输出中显示有一个失败测试项,只要将 TestFirstTry.testFloatMath 方法中的 ‘8’ 改成 ‘9’ 就好了。
参考资料
Getting Started With AsUnit 3.0 and FlashDevelop3 in AS3 (Unit Tests)
AsUnit
到官网 http://www.asunit.org 下载框架源代码包。
2. 创建新项目
在 FlashDevelop 中创建一个新项目,具体方法参加 FlashDevelop 帮助手册。
3. 将 ASUnit 添加到项目中
在项目的属性面板中,切换到"Classpaths"选项,将 ASUnit 代码路径加入到项目的 classpaths 中,具体添加的应该是 ASUnit 代码包下的 as3\src 子目录。
添加 classpath 后 ASUnit 的代码将出现在项目树中:
4. 添加测试程序代码
首先为测试程序创建一个独立的一级子目录 tests(和src目录同级),与项目功能代码 src 隔离开更易于管理。在 tests 下创建子目录 src/test,test是包名,可以按个人喜好设置,比如与项目代码结构保持一致。
在 tests/src/test 目录下创建 AllTests.as 类文件,该类需要继承自 asunit.framework.TestSuite,需要执行的测试用例都在该类中添加,示例代码:
package test { import asunit.framework.TestSuite; /** * ... * @author Edward */ public class AllTests extends TestSuite { public function AllTests() { super(); } } }
再创建一个具体的测试用例代码文件,例如:TestFirstTry.as,该类需要继承自 asunit.framework.TestCase,示例代码:
package test { import asunit.framework.TestCase; /** * ... * @author Edward */ public class TestFirstTry extends TestCase { public function TestFirstTry(testMethod:String = null) { super(testMethod); } public function testIntegerMath():void { var i:int = 5; assertEquals(5, i); i += 4; assertEquals(9, i); } public function testFloatMath():void { var i:Number = 5; assertEqualsFloat(5, i, 0.001); i += 4; assertEqualsFloat(8, i, 0.001); } } }
在 AllTests 中添加测试用例,在调用 TestSuite.addTest 方法时如果没有指定待测试的 TestCase 的某一具体方法名(TestCase 子类构造函数的参数),那么 TestCase 子类中所有方法名以 test 开头的都将被执行!这个特性很便于对功能模块进行整体测试。
public function AllTests() { super(); addTest(new TestFirstTry()); //addTest(new TestFirstTry("TestIntegerMath")); //addTest(new TestFirstTry("TestFloatMath")); }
最后,在 Main.as 中添加单元测试启动代码:
package { import flash.display.Sprite; import flash.events.Event; import asunit.textui.TestRunner; import test.AllTests; /** * ... * @author Edward */ public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var unit_tests:TestRunner = new TestRunner(); stage.addChild(unit_tests); unit_tests.start(AllTests, null, TestRunner.SHOW_TRACE); } } }
5. 执行单元测试
编译运行项目将看见下面的输出内容:
输出中显示有一个失败测试项,只要将 TestFirstTry.testFloatMath 方法中的 ‘8’ 改成 ‘9’ 就好了。
参考资料
Getting Started With AsUnit 3.0 and FlashDevelop3 in AS3 (Unit Tests)
AsUnit
相关文章推荐
- 使用 ASUnit 单元测试框架对AS3进行单元测试
- Python单元测试框架使用unittestpyUnit
- Python单元测试框架unittest使用方法讲解
- Python单元测试框架unittest使用方法讲解
- python单元测试之unittest框架使用总结
- Python单元测试框架unittest使用方法讲解
- 引用单元测试模块unittest框架(四)
- Android单元测试(三):JUnit单元测试框架的使用
- Python unittest单元测试框架总结
- unittest-Python单元测试框架
- 项目中使用项目中使用了pod集成第三方框架,在使用单元测试时环境的部署
- c++单元测试工具unittest++使用小结
- Spring整合JUnit框架进行单元测试代码使用详解
- 手撸php框架2.1--使用测试框架phpunit
- 使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- iOS单元测试GHUnit + OCMock(使用cocoapods版)
- Google C++单元测试框架GoogleTest---TestFixture使用
- Android使用单元测试框架
- PHP单元测试框架PHPUnit的使用
- 使用CsUnit进行单元测试(一)