我正在尝试在sampleCLIProject的非常简化版本中通过 Ant 运行 FlexUnit 测试。当我通过 Flash Builder 编译时测试通过,当我在 Windows 上通过 Ant 运行它们时超时。此超时问题仅发生在异步测试的情况下。当我在 Mac OS X 上通过 Ant 运行它们时,Ant 无法从 Flash Player 接收数据。
这是运行测试的主要应用程序:
TestRunner.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:flexUnitUIRunner="http://www.adobe.com/2009/flexUnitUIRunner"
layout="absolute"
creationComplete="runTests();">
<mx:Script>
<![CDATA[
import org.flexunit.demo.EchoPanelTest;
import org.flexunit.listeners.CIListener;
import org.flexunit.listeners.UIListener;
import org.flexunit.runner.FlexUnitCore;
public function runTests() : void {
var core : FlexUnitCore = new FlexUnitCore();
core.addListener(new UIListener(uiListener));
core.addListener(new CIListener());
core.run(EchoPanelTest);
}
]]>
</mx:Script>
<flexUnitUIRunner:TestRunnerBase id="uiListener" width="100%" height="100%"/>
</mx:Application>
这是 Ant 构建文件的相关部分:
构建.xml
<target name="compile">
<mxmlc file="${SRC_DIR}/TestRunner.mxml"
output="${BIN_DIR}/Main.swf">
<library-path dir="${LIB_DIR}"
append="true">
<include name="*.swc" />
</library-path>
<compiler.verbose-stacktraces>true</compiler.verbose-stacktraces>
<compiler.headless-server>true</compiler.headless-server>
</mxmlc>
</target>
<target name="run"
depends="compile">
<chmod file="${BIN_DIR}/Main.swf"
perm="777" />
<flexunit swf="${BIN_DIR}/Main.swf"
timeout="5000"
toDir="${basedir}/reports"
haltonfailure="false"
verbose="true"
localTrusted="false"
command="${FLASH_PLAYER}" />
</target>