Pergunta

Como você pode executar o Asunit Test Runner da Ant?

Estou no Mac OS, então uso:

open -a "flash player" tests.swf

Como posso fazer essa plataforma cruzada?

Foi útil?

Solução

Aqui está um alvo que compilará os testes em um SWF e os executará. Os testes são executados usando a tarefa EXEC. Esta versão usa o abrir Comando do Mac OS.

Para o Windows, só consigo pensar em usar uma propriedade definida para o caminho completo para o Flash Player Exe e usá -lo para executar os testes.

<target name="tests">

    <taskdef resource="flexTasks.tasks" classpath="${flextask.jar}" />

    <mxmlc file="${test.main}" output="${tests.output}" incremental="true" debug="false" static-link-runtime-shared-libraries="true">
        <source-path path-element="${tests.dir}"/>
        <load-config filename="${flex.config}" />
        <library-path dir="${flex.lib}" append="true">
            <include name="flex.swc" />
        </library-path>
        <library-path dir="${libs.test.dir}" append="true">
            <include name="*.swc" />
        </library-path>
    </mxmlc>

    <exec executable="open" os="Mac OS X">
        <arg line='-a "flash player" ${tests.output}' />
    </exec>

</target>

Aqui estão as propriedades:

# Build locations
src.dir=${basedir}/src/main/actionscript
package.dir=your/apps/package
libs.dir=${basedir}/libs
output.dir=${basedir}/bin
output.swc=${output.dir}/${project.name.versioned}.swc

# testing
tests.dir=${basedir}/src/test/actionscript
tests.output=${output.dir}/${ant.project.name}-tests.swf
libs.test.dir=${basedir}/src/test/libs
test.main=test.main=${tests.dir}/${package.dir}/AllTestsRunner.as

docs.dir=${basedir}/docs

# flex resources
flex.config=${FLEX_HOME}/frameworks/flex-config.xml
flex.lib=${FLEX_HOME}/frameworks/libs
flextask.jar=${FLEX_HOME}/ant/lib/flexTasks.jar
mxmlc.jar=${FLEX_HOME}/lib/mxmlc.jar
compc.jar=${FLEX_HOME}/lib/compc.jar
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top