Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Юниттесты в ас3 (http://www.flasher.ru/forum/showthread.php?t=170941)

Dukobpa3 05.11.2011 02:42

Юниттесты в ас3
 
Никогда не использовал юниттесты, но мои серверщики ими уже все уши прожужжали как это круто и удобно и ускоряет разработку. Пишут они на питоне и те штуки которые показывали для работы с базой и сервером действительно впечатляют, но я в упор не могу придумать примеров где это может пригодиться в ас3, ведь флеш это восновном визуализация всего и вся. Да, есть конечно еще и модули работы с сервером, получение данных из БД, тут еще куда ни шло, могу как-то прикрутить, но не больше.

Поделитесь опытом, кто использовал, как использовали, и как вообще можно это использовать в ас3.

expl 05.11.2011 15:30

У нас половина самопальной недоGUI-либы покрыта тестами, ибо по другому с багами боротся тяжело,
транспорт частично покрыт
В самих играх:
- парсинг некоторых книжек (тупо потому что так быстрее дебажить)
- хитрая специфичная для конкретной игры система перенаправления событий (100% coverage, проверял :) )
- логика изменения модели контроллером по получении данных от сервера (сервер не сообщает изменения, а просто присылет новый список объектов и вот этот страшный код делает diff и соответственно добавляет или удаляет объекты, имзеняет их свойства в хитрой иерархии, без тестов просто источник багов)
- некоторые вычислительные алгоритмы типа "найди уровень по текущему опыту и таблице изменения опыта на каждом уровне" - вроде и не сложно, но ошибиться с +1/-1 как нефиг делать, а дебажить без тестов долго
- расчет изменения параметров итемов по времени (естественно, тесты синхронные, просто фейковый таймер подставляется)
и т.д. и т.п.

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

Не сразу очевидным оказалось то, что протестировать алгоритмы завязанные на RANDOM практически не возможно - только ручное тестирование с выводом в трейс. Просто потому что не выполняется условие повторяемости. И замена рандом-генератора детерменированным тоже ничего не дает - нам ведь надо протестить распределение вероятности, а не то что здесь вот должно появиться 125.

Но это все юнит-тесты. Интеграционные тесты я не писал никогда.

Где посмотреть примеры?
очень многие as3 либы на github.org или code.google.com


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

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