FlexMonkey将单元测试引入Flex用户界面开发
2009-09-21 00:00:00 来源:WEB开发网通过这种方式使用FlexMonkey,我们可以交互性地创建和维护多种多样的,复杂的,可以包含任意数量测试用例和测试的套件。
使用ActionScript生成测试
除了交互性的创建和与运行测试外,我们还可以使用 FlexMonkey API 编程指定与xUnit框架如Fluint(http://fluint.googlecode.com)和FlexUnit 4(http://opensource.adobe.com/wiki/display/flexunit/FlexUnit)一起运行的测试。
尽管可以使用FlexMonkey API完全地从头开始创建测试,然而我们其实使用FlexMonkey控制台来直接从以前录制的测试场景中创建基于ActionScript的测试。选择 “生成 AS3”菜单选项来为每一个套件和测试用例生成ActionScript类。每一个独立的测试都会导出成它对应的测试用例类中的方法。下面是我们的简单示例所生成的测试用例类。
package testSuites.MonkeyContactsSuite.tests {
import com.gorillalogic.flexmonkey.events.MonkeyCommandRunnerEvent;
import com.gorillalogic.flexmonkey.core.MonkeyTest;
import com.gorillalogic.flexmonkey.monkeyCommands.*;
import com.gorillalogic.flexmonkey.application.VOs.AttributeVO;
import com.gorillalogic.flexmonkey.flexunit.tests.MonkeyFlexUnitTestCase;
import mx.collections.ArrayCollection;
import flash.events.IEventDispatcher;
public class MonkeyContactsCase extends MonkeyFlexUnitTestCase{
public function MonkeyContactsCase(){
super();
}
private var mtTestAddNewContact:MonkeyTest = new MonkeyTest(null,
'TestAddNewContact', null, 500,
new ArrayCollection([
new UIEventMonkeyCommand('Input', 'inName', 'automationName', ['Fred']),
new UIEventMonkeyCommand('Input', 'inPhone', 'automationName', ['555 555 1212']),
new UIEventMonkeyCommand('Click', 'Add', 'automationName', ['0'])
]));
private var mtTestAddNewContactTimeout:int = 8500;
[Test]
public function TestAddNewContact():void{
// startTest(<MonkeyTest>, <Complete method>, <Async timeout value>,
<Timeout method>)
startTest(mtTestAddNewContact, TestAddNewContactComplete,
mtTestIA1TimeoutTime, defaultTimeoutHandler);
}
public function TestAddNewContactComplete(event:MonkeyCommandRunnerEvent, passThroughData:Object):void{
checkCommandResults(mtTestAddNewContact);
}
}
}
Tags:FlexMonkey 单元
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接