Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.12.2008, 16:56
matroskin вне форума Посмотреть профиль Отправить личное сообщение для matroskin Найти все сообщения от matroskin
  № 1  
Ответить с цитированием
matroskin

Регистрация: Dec 2008
Сообщений: 2
По умолчанию Юнит-тестирование флекс приложения

Заранее извиняюсь за некоторый сумбур и возможно еще путаюсь в терминологии.

сушествует флекс3 приложение - SomeApplication.mxml
в котором описано несколько методов
Код:
	<mx:Script>
		<![CDATA[
		public var SomeVar:String = "Some Variable";
		
		public finction Function1
		{
		}
		
		public function Function2
		{
		}
		public function ResultHandler
		{
		}
		
		]]>
	</mx:Script>

	<mx:DataGrid id="dgrid" dataProvider="{ds}" width="100%" height="100%"
	</mx:DataGrid>
UI реализован через тэги. есть одна важная деталь, ивент хэндлеры прицеплены через тэги
	<mx:DataService id="ds" destination="some-destination"
		result="ResultHandler(event)"/>
Задача - написать юнит тесты на FlexUnit-е для методов Function1 и Function2

Делаю примерно так
public var app : SomeApplication = new SomeApplication();
после этого конструктора можно получить доступ к методам и переменным, объявленым в коде, но графические элементы -
как например datagrid инициализированы не будут. т.е. app.dgrid=null
все бы хорошо, для этого экземпляра класса можно определить их app.dgCompany = new DataGrid();
но , проблема состоит в том, при обращении к дата_сервису отрабатывает хэндлер, описаный в тэгах оригинального приложения и
в нем есть логика обращеная к неиницилизированым переменным - соответственно весь тест падает с ошибками.
удалить эти хендлеры через removeEventListener нельзя, так как они заданы через тэги - вот тут референс
http://livedocs.adobe.com/flex/3/htm...events_05.html
собственно вопрос - как "доопределить" в данном случае визуальные компоненты - например дата грид.

Старый 27.12.2008, 00:25
_Smirnoff вне форума Посмотреть профиль Отправить личное сообщение для _Smirnoff Найти все сообщения от _Smirnoff
  № 2  
Ответить с цитированием
_Smirnoff
 
Аватар для _Smirnoff

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Немного юзал FlexUnit. Для тестов, лучше засунь эти две функции в отдельный Класс. Напиши для него отдельныйКлассТест наследуемый от TestUnit, что-ли, в котором опиши testFunction1 и для второй. Далее свое поведение реализуй. И тестируй.
__________________
Оптимизация производительности на уровне кода

Старый 27.12.2008, 11:16
matroskin вне форума Посмотреть профиль Отправить личное сообщение для matroskin Найти все сообщения от matroskin
  № 3  
Ответить с цитированием
matroskin

Регистрация: Dec 2008
Сообщений: 2
Спасибо за ответ, но в том и состоит суть юнит-тестирования, что бы сохранять целостность тестируемого кода а все возможные заглушки для реализации возможности тестирования кода писать в самих тестах.

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.