我试图通过Ant在sampleCLIProject的一个非常简化的版本中运行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构建文件的相关部分:
的build.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>