Модульное тестирование Flex с использованием ANT и Flash Builder 4

Я только что попробовал настроить модульное тестирование в Flash Builder 4, и он отлично работает. Настройка параллельной структуры исходного кода тестов и использование нового TestCase в Flash Builder 4 и нового TestSuite. Я был настроен и работал с некоторыми тестовыми наборами в течение нескольких минут.

Но теперь я хочу скомпилировать их из задачи ant flex, Flash Builder создает FlexUnitApplication.mxml и FlexUnitCompilerApplication.mxml. Есть ли хороший способ построить модульные тесты с помощью ant? Я не могу найти ни одного образца, где это делается.


person user310144    schedule 06.04.2010    source источник


Ответы (1)


Мы используем для каждого нашего тестового проекта файл CITestRunner.mxml, который по существу содержит следующий код

<mx:Script>
    <![CDATA[           

        import mx.logging.LogEventLevel;

        import org.flexunit.internals.TextListener;
        import org.flexunit.listeners.CIListener;
        import org.flexunit.runner.FlexUnitCore;

        public function runTests():void
        {
            var core:FlexUnitCore = new FlexUnitCore();
            core.addListener( new CIListener( 40000 ) );
            core.addListener(TextListener.getDefaultTextListener(LogEventLevel.DEBUG));                 
            core.run( new FlexUnitApplication().currentRunTestSuite() );

        }

    ]]>
</mx:Script>

Все, что вам нужно сделать, это скомпилировать приложение с этим приложением в качестве основного класса и запустить его, используя предоставленную задачу муравья «flexUnit», и все будет в порядке.

person Axelle Ziegler    schedule 07.04.2010
comment
Это отлично работает, но строка (core.run (new FlexUnitApplication (). CurrentRunTestSuite ());) выдает предупреждение: FlexUnitApplication - это модуль или приложение, на которое имеется прямая ссылка. Это приведет к тому, что FlexUnitApplication и все его зависимости будут связаны с TestRunner. Чтобы избежать этого, рекомендуется использовать интерфейс. - person Daniel Rodriguez; 27.08.2011