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 ビルド ファイルの関連部分は次のとおりです。
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>