Я создаю и поддерживаю набор компонентов Flash, который распространяется среди издателей и позволяет им интегрироваться с нашей системой. В настоящее время компонент не имеет пользовательского интерфейса и просто содержит скомпилированный код для запросов к нашим системным серверам, анализа ответа и изменения параметров, отправляемых в запросе. Есть версии As2 и AS3 для Flex и CS3. Наш типичный рабочий процесс выглядит так:
1.) Загрузить компонент
2.) установить параметры на компонент
3.) сообщить компоненту запросить нашу систему
4.) ждать события о том, что ответ получен и проанализирован
5.) вызов методов на компоненте для извлечения и использования проанализированных данных
В последнее время мы много говорили об автоматизации тестирования этих компонентов, и кажется, что вокруг таких фреймворков, как AsUnit и FlexUnit, много шума. Тем не менее, я никогда не мог понять, как я могу эффективно использовать один из них. Примеры и учебные пособия всегда экономят на реальных примерах и вместо этого предоставляют несколько классов и избыточный код для проверки, возвращает ли примерная функция num1 + num2.
Единственное, что я могу догадаться, это то, что эти инфраструктуры тестирования предназначены для реализации с самого начала, с планированием набора тестов, тестового прогона и тестовых случаев, встроенных в начале разработки.
Автоматический тест нашего компонента должен был бы убедиться, что свойства были установлены правильно, эти свойства были отправлены в запросе в нашу систему, полученный ответ был правильным с учетом отправленных параметров, проанализированные данные содержат правильную информацию, и ошибок нет , плохие ответы или бесконечные циклы анализа.
У меня вопрос: есть ли способ автоматизировать тестирование существующего, широко распространенного, установленного Flash-компонента, не полностью переработав его, чтобы он вписался в среду тестирования? Или я неправильно понимаю основы тестирования, и это уже возможно?
ОБНОВЛЕНИЕ : Спасибо за ответы. Я начал интегрировать свой компонент с AsUnit и думаю, что довольно хорошо понимаю, как он может мне помочь. Тем не менее, AS2 AsUnit не поддерживает асинхронные тестовые случаи, и мне трудно найти инфраструктуру модульного тестирования AS2, которая делает. Асинхронное тестирование действительно важно для этого проекта. У кого-нибудь есть какие-либо рекомендации для другой структуры? Спасибо!