2009-07-24 2 views
5

Какие методы вы используете для модуляции обработчиков событий, особенно если им требуется информация из события (например, координаты мыши или цель события)? Является ли наиболее распространенной практикой просто реорганизовать поведение в метод, который делает подъем, пока обработчик просто извлекает информацию из события или существуют эффективные способы имитации отправки событий в FlexUnit или Fluint?Модульные тесты обработки событий Flex

ответ

3

Чаще всего я создаю объект события вручную и отправляю событие из объекта, который прослушивается, тем более, что я могу убедиться, что нет прослушивателей плавающих событий, которые не удаляются должным образом. Иногда я сталкиваюсь с ситуацией, когда мои тестовые классы не могут получить доступ к отправляющему объекту. Если это так, я отделяю бизнес-логику от метода фактического прослушивания событий, сохраняю метод прослушивания событий чрезвычайно простым и легким и проверял бизнес-логику. Отправка из объекта намного лучше, если вы можете.

FlexUnit и Flunit не предоставляют никакой «симуляции» диспетчеризации событий; если вы можете получить доступ к объекту, вы сможете отправить его, и если вы этого не сделаете, FlexUnit/Flunit тоже не сможет.

При использовании событий, однако, вы захотите понять, как FlexUnit/Flunit предоставляет способы проведения асинхронного тестирования. Отправка фиктивного события означает, что вы начинаете действие, которое не завершается, когда метод закончен, поэтому вам нужно будет создать асинхронный тест. Документация для FlexUnit находится в их ASDocs, а Flunit имеет хороший онлайн-набор документов на своем домашнем сайте: http://code.google.com/p/fluint/wiki/AsyncTest

Смежные вопросы