Модульное тестирование библиотек Flex/Flash в FlashBuilder

Для обычного приложения Flash/Flex я бы включил мои модульные тесты в свой проект приложения (возможно, в исходную папку test рядом с моей основной папкой src). Тогда у меня будет две точки входа в приложение: приложение и его тесты.

Как люди делают это для своих проектов Flex Library? Вы знаете, вид, который производит файл SWC. Насколько я могу судить, вы не можете установить исполняемую точку входа для этих проектов (для запуска тестов).

4 ответа

Решение

В самой первой версии Flash Builder Beta 1 вы можете писать и выполнять тесты Flexunit из библиотечного проекта.

Вы можете использовать интегрированную среду IDE FlexUnit, выбрать проект, папку, класс или метод из контекстного меню и использовать "Выполнить модульные тесты Flex". Это создаст файл приложения с требуемым синтаксисом, запустит приложение и покажет результаты в FB. Вы даже можете выбрать из результата и запустить тесты.

Как правило, Flash Builder позволяет использовать отладчик только из приложения Flex/AIR, а не из проекта библиотеки. Поэтому лучше всего загрузить библиотеку в приложение Flex и написать + отладочные тесты там.

Вот пошаговые инструкции, чтобы можно было протестировать ваш библиотечный проект с включенной отладкой / пошаговым выполнением:

  1. Создайте проект библиотеки Flex, который вы хотите протестировать + отладить
  2. Создайте обычное пустое приложение Flex. Мы напишем тесты в этом фиктивном приложении Flex, чтобы мы могли использовать функции отладки.
  3. Задайте путь сборки библиотеки для папки "libs" приложения Flex, чтобы она встраивала самый последний код в SWC-файл, загруженный приложением Flex.

  4. При желании, установите в приложении Flex "ссылку" на проект библиотеки в "Свойства проекта" -> "Ссылки на проект", это гарантирует, что сначала будет создан код библиотеки.

  5. Запишите свои тесты в приложении Flex
  6. Отладка и запуск ваших тестов: вы должны быть в состоянии пройти через исходный код вашей библиотеки! Ницца.
  7. По желанию, как только вы убедитесь, что все ваши тесты хороши,скопируйте свои тесты обратно в проект библиотеки, чтобы объединить весь связанный с ней код библиотеки в одном проекте. Убедитесь, что вы не включили тестовые классы в реальную библиотеку SWC.

Вот как я это делаю в любом случае.

Если мы предполагаем, что вам нужна точка входа mx:Application для запуска модульных тестов, то, по-видимому, имеет смысл сгенерировать отдельный проект приложения исключительно для запуска тестов.

Вы действительно хотите включить модульные тесты в скомпилированный SWC? (Для приложения это не будет проблемой, поскольку на них, по-видимому, нет ссылок, но для библиотеки SWC я думаю, что они будут скомпилированы, если они где-то находятся в иерархии папок)

В настоящее время нет способа протестировать библиотечный проект. Вы должны иметь приложение в качестве точки входа в тесты. Это было бы отличной функцией запроса для Flash Builder 4.

Другие вопросы по тегам