我有一个需要测试的Flex应用程序,我们的QA部门非常喜欢使用某种形式的自动测试工具,如HP的QuickTest Pro(QTP).但是,QTP要求您编写一些自定义代码,如果您希望自动化一些自制组件...不幸的是,我们有一些第三方组件,我们没有源代码,所以我们不能没有真正的自定义代码没有拥有第三方组件的源代码.
是否有任何现有的框架和/或工具可以让我自动化测试,而无需编写可供非程序员使用的自定义代码(即一个不知道指针是什么的QA人)
我已经快速浏览了Flex-Monkey(一个免费的开源软件),这似乎是一个很有前景的项目,但它还处于初期阶段,我很快就需要一些东西(即昨天)
有任何想法吗?
我正在研究为FlexUnit编写Eclipse插件,并想知道我在哪里可以获得JUnit Eclipse插件的源代码.我在sourceforge上检查了JUnit源代码,但是找不到任何看起来像插件代码的代码.
知道这个代码可用的地方吗?
是否可以使用ANT任务检查端口是否打开?
我需要执行flexunit任务,但在开始此任务之前,我需要检查另一个flexunit任务是否未运行并阻止所需的端口.
谢谢你的任何建议,
拉法尔
我现在正在学习ActionScript/Flex,现在是我开始进行单元测试的时候了.我的阅读表明,有两个主要框架:FlexUnit和AsUnit.
有没有理由学习一个而不是另一个?在某种程度上,一个人"更好"吗?
似乎大多数XUnit测试框架都提供了断言,当你想要声明某个给定的操作会抛出异常时(或AS3用语中的错误.)是否有一些"标准"方法可以忽略这一点,会解释FlexUnit中是否缺少assertError()断言?
我知道如何实现这样的事情,我可能会把它添加到我的FlexUnit(开源!),但这似乎是一个明显的遗漏,我想知道我是不是做错了.
有人对此有何看法?
apache-flex error-handling flexunit actionscript-3 assertions
任何人都知道怎么做 Async.asyncHandler()工作,如果Async.processOnEvent()只能在[Before]方法中使用.(除了http://docs.flexunit.org/之外,任何人都知道一些有用的文件).
我定义了一个名为HelloCompo(扩展Vbox)的MXML组件,该组件定义了一个名为hello()的函数,在hello()中发生了一个名为HelloEvent的客户事件(事件类型名为"hello"),并在另一个函数中命名init()监听事件,我想测试事件是否正确调度.所以我有以下测试:
var helloCompo = new HelloCompo();
helloCompo.hello();
helloCompo.addEventListener("hello", Async.asyncHandler(this, handleHello, 1000, null, handleTimeOut));
Run Code Online (Sandbox Code Playgroud)
测试将始终执行handleTimeOut方法(意味着不调度HelloEvent,但是当helloCompo.hello()执行时,它确实发生了干扰,所以出了什么问题?)
我正在尝试从Ant运行FlexUnit测试.在Windows上一切正常,但在Mac OS X上,我收到此错误:
BUILD FAILED
/Users/ohassan/Projects/mongo/build.xml:347: java.io.IOException: Cannot run program "/Applications/Adobe Flash Builder 4.5/player/mac/11.5/Flash Player Debugger.app" (in directory "/Users/ohassan/Projects/x"): error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at org.flexunit.ant.launcher.commands.player.CustomPlayerCommand.launch(Unknown Source)
at org.flexunit.ant.tasks.TestRun.run(Unknown Source)
at org.flexunit.ant.tasks.FlexUnitTask.execute(Unknown Source)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.io.IOException: error=13, Permission denied
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at …Run Code Online (Sandbox Code Playgroud) 我需要在FlexUnit中测试私有方法.有没有可能通过使用describeType通过反射来做到这一点,或者flexUnit可能在设施中有一些构建?我不喜欢人为限制,我无法测试私有功能,它大大降低了灵活性.是的,我测试私有函数是一个很好的设计,所以请不要建议我重构我的代码.我不想为了单元测试而打破封装.
flexunit ×8
apache-flex ×5
ant ×2
flexunit4 ×2
actionscript ×1
assertions ×1
asunit ×1
eclipse ×1
java ×1
junit ×1
macos ×1
open-source ×1
port ×1
qa ×1
qtp ×1
reflection ×1
sockets ×1