Как я могу unit test приложения Flex из среды IDE или сборки script?

В настоящее время я работаю над приложением с интерфейсом, написанным в Adobe Flex 3. Я знаю FlexUnit, но что я 'd действительно нравится бегун unit test для Ant/NAnt и бегун, который интегрируется с Flex Builder IDE (AKA Eclipse). Есть ли один?

Также есть ли какие-либо другие ресурсы о том, как сделать разработку Flex "правильным способом", помимо примера микроархитектуры Cairngorm?

Ответы

Ответ 1

Структура dpUint имеет тестовый бегун, созданный с помощью AIR, который может быть интегрирован со сборкой script.

Существует также мой FlexUnit комплект автоматизации, который делает более или менее одинаковым для FlexUnit. Он имеет макрос Ant, который позволяет запускать тесты как часть Ant script, например:

<target name="run-tests" depends="compile-tests">
  <flexunit swf="${build.home}/tests.swf" failonerror="true"/>
</target>

Ответ 2

В моем проекте мы используем Maven для создания как нашего Flex RIA, так и задней части Java. Чтобы создавать и тестировать приложение Flex, мы используем плагины flex-mojos. Они отлично подходят для нас, и я настоятельно рекомендую использовать Maven над Ant.

Если вы уже используете Ant, может быть немного сложно перейти на Maven. Поэтому, если вы находитесь в таком положении, я бы рекомендовал использовать доступные здесь функции flexunit: Ant Задача

Обе эти библиотеки в основном одинаковы, они запускают созданное приложение flexunit test runner mxml в окне и открывают соединение сокета обратно в процесс сборки с помощью тестового бегуна JUnit. Удивительно, но это работает очень хорошо. Единственная проблема заключается в том, что вы не можете запустить его без головы, поэтому, если вы хотите запустить сборку с CI-сервера, вы должны убедиться, что процесс имеет возможность запускать новые окна, иначе он не будет работать.

Ответ 3

О том, как правильно разработать приложения Flex, я бы не стал слишком сильно смотреть на структуру Cairngorm. Он утверждает, что демонстрирует "лучшую практику" и т.д., Но я бы сказал, что все наоборот. Он основан на использовании глобальных переменных и других вещей, которые вы должны избегать. Я изложил некоторые проблемы в моем блоге.

Я бы предположил, что вместо этого вы посмотрите на Mate framework, у которого есть хорошая документация и хорошие примеры, чтобы вы начали. Он использует Flex полностью, не полагается на глобальные переменные как Cairngorm и PureMVC, и это позволяет писать гораздо более развязанный код.

Ответ 4

Альтернативой FlexUnit является инструмент AsUnit. Существуют версии для actionscript 2 и 3. Он также имеет хорошую интеграцию с Project Sprouts, который является инструментом сборки для Flex и Flash, аналогичным ant, однако он использует задачи ruby ​​rake и включает превосходное управление зависимостями вдоль линий maven.

Нет интеграции IDE, о которой я знаю.