WEB开发网
开发学院软件开发Java FlexMonkey将单元测试引入Flex用户界面开发 阅读

FlexMonkey将单元测试引入Flex用户界面开发

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: 测试中的每一个操作都生成出了一个UIEventMonkeyCommand,每一个命令都指定一个操作,FlexMonkey将单元测试引入Flex用户界面开发(7),属性/值对用以标识该操作以及操作相关参数所对应的目标组件,(所有可用的操作都在http://code.google.com/p/fle

测试中的每一个操作都生成出了一个UIEventMonkeyCommand。每一个命令都指定一个操作,属性/值对用以标识该操作以及操作相关参数所对应的目标组件。(所有可用的操作都在http://code.google.com/p/flexmonkey/wiki/FlexMonkeyCommand有记录。)在这个例子中,每一个UIComponent都使用了automationName 属性来标识,但正如上面提到的,我们可以使用任意的属性值对来替代。我们可以很轻松的修改这些脚本而无须重新录制。例如,我们可以通过将下述命令加入到数组中来实现在联系人管理中的ComboBox下选择电话类型为"Mobile"。

new UIEventMonkeyCommand('Select', 'inType', 'id', ['Mobile'])

我们可以尝试用编程的方式向我们的管理程序中加入1000个联系人。例如,下面的几行代码相当于不断地输入一个唯一的联系人姓名并点击add按钮:

for (var i:int=0; i<1000; i++) 
  { mtTestAddNewContact.addItem(new UIEventMonkeyCommand('Input', 'inName', 'automationName', ['Contact' + i])); 
  mtTestAddNewContact.addItem(new UIEventMonkeyCommand('Click', 'Add', 'automationName', ['0'])); 
}

对于每一个生成的测试方法,都会有一个对应的Complete方法。这个Complete方法会在测试方法结束后被调用。我们可以在这个方法中附加一些断言来测试其他的属性。例如,我们可以检查脚本完成后列表中第一个联系人是不是"Fred"。

public function TestAddNewContactComplete(event:MonkeyCommandRunnerEvent, passThroughData:Object):void{ 
  var grid:DataGrid = MonkeyUtils.findComponentWith("grid", "id"); // Find the component with id="grid" 
 
  var actual:String = grid.dataProvider[0]["name"] assertEquals("First contact was not Fred", "Fred", actual); 
}

上一页  2 3 4 5 6 7 8  下一页

Tags:FlexMonkey 单元

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接