2008-12-14 3 views
2

Если вы создаете чистый проект ActionScript в Flex Builder 3 и хотите выполнить модульное тестирование с использованием flexunit, что является лучшим вариантом?flexunit с чистым проектом ActionScript в Flex Builder 3

Встроенный Flex-строитель откажется от сборки файла mxml, содержащего компонент TestRunnerBase, поскольку это чистый проект ActionScript (без разрешения Flex). Невозможно добавить файл mxml в список «ActionScript Applications» в настройках проекта.

Сейчас я вижу два варианта, оба нежелательных.

  1. Добавить модуль тестирования mxml-файла в проект и создать внешнюю настройку инструмента для его создания и запуска. Это подход, который я принимаю сейчас, и он отлично работает, за исключением того, что интерактивная отладка невозможна.
  2. Создайте новый проект Flex только для тестового файла mxml и добавьте каталог src основного проекта в качестве дополнительного исходного каталога в вариантах сборки. Мне не нравится этот подход, потому что он требует, чтобы я сохранил файл mxml в отдельном дереве каталогов из всех других исходных файлов в дополнение к уродству сохранения двух проектов.

ответ

1

В результате я положил тестовый файл mxml в исходный проект, создав новый проект Flex, удалив каталог src и заменив его связанной с Eclipse папкой в ​​каталог src проекта ActionScript. Эта настройка работает нормально.

1

Мы сделали что-то подобное, чтобы FlexUnit работал с CruiseControl.net (сервером непрерывной интеграции).

В нашей реализации у нас есть код, приведенный ниже в обработчике FlexEvent.CREATION_COMPLETE класса Application.

Как вы выдаете результаты модульных испытаний, полностью зависит от вас. Наша реализация использовалась как с AIR, так и с Zinc3, и оба отображают XML-представление, совместимое с NUnit, и затем выходят из приложения (с кодом выхода -1, если какие-либо тесты не удались).

// import mx.core.Application; 
// import flexunit.framework.*; 

// class AutomatedTestHarness extends Application implements TestListener 

private function creationCompleteHandler(event : Event) : void 
{ 
    this._result = new TestResult(); 
    this._result.addListener(this); 

    var testSuite : TestSuite = new TestSuite(); 
    this.addUnitTests(testSuite); 

    testSuite.runWithResult(_result); 
} 

/** 
    * Implement these as part of TestResult.addListener 
    * If you want to output xml after the tests run, do so here 
    * (Tip: Count tests in endTest and compare the count to testSuite.countTestCases() 
    * to find out when all tests have completed) 
    */ 
function startTest(test : Test) : void {} 
function endTest(test : Test) : void {} 
function addError(test : Test, error : Error) : void {} 
function addFailure(test : Test, error : AssertionFailedError) : void {} 
1

Может быть, вы могли бы использовать flexunit.textui.TestRunner, которые выдают результат на консоли.

1

Мы учли весь код, который мы хотим протестировать в библиотечных проектах. Затем у нас есть отдельный проект для наших тестов, который является гибким проектом, который зависит от тестируемого проекта.

+0

Похоже, что это тоже сработает, но до сих пор у меня не было проблем с настройкой моей связанной папки. – Tmdean 2009-01-07 14:52:36

0

Попробуйте AS3Unit от libspark. Они также имеют асинхронный бета-тест.

+0

OK ... эти два (ryan/drawcoder) очень подозрительны; пожалуйста, не отправляйте сообщения по дублированным счетам. – 2009-06-04 15:13:25

1

Попробуйте AS3Unit от libspark. Они также имеют асинхронный бета-тест.

+0

OK ... эти два (ryan/drawcoder) очень подозрительны; пожалуйста, не отправляйте сообщения по дублированным счетам. – 2009-06-04 15:13:27

0

удалить элемент «excludedEntries» в файле .actionScriptProperties вашего проекта должен работать, я использую этот способ для создания файла mxml в моем чистом проекте actionscript.

0

Вы можете проверить, как у нас есть set up the build for Robotlegs с использованием FlexUnit4 и их задач CI ant.

Для контроля версий мы выделяем все файлы проекта Flex/Flash Builder. src и тестовые папки настроены как пути src. Тесты - это rand через сборку муравьев. Альтернативно, второй проект с бегуном может быть настроен, если вы поживаете зрителем визуального тестирования.

Он был очень эффективным и простым в использовании для многих участников.