Я пытаюсь запустить тесты FlexUnit через Ant в очень упрощенной версии sampleCLIProject. . Тесты проходят, когда я компилирую через Flash Builder, и тайм-аут, когда я запускаю их через Ant в Windows. Эта проблема тайм-аута возникает только в случае асинхронных тестов. Когда я запускаю их через Ant в Mac OS X, 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>