PDA

Просмотр полной версии : Как научиться писать юнит-тесты?


Deimos747
15.06.2012, 12:06
Возможно кому-то вопрос покажется глупым, но устав искать глупые ошибки наслушавшись о преимуществах юнит-тестов, решил что и мне они нужны.
Кто как учился писать юнит-тесты?
Порекомендуйте, статьи или книги на эту тему, а то я пока не понимаю с чего начать.

expl
15.06.2012, 13:31
Меня вдохновлял вот этот товарищ: http://blog.byndyu.ru/search/label/TDD, хотя от as3 там очень сильные отличия. Моки, которыми впринципе можно пользоваться, вот только недавно появились (http://anykeytocreate.blogspot.com/2012/04/mock.html)
Почитайте "Кент Бек: Экстремальное программирование", - боле-менее понятно написано.

Реальные примеры реальных тестов для реальных as3-проектов разбросаны по github.com (https://github.com/). Юнит-тесты стопроцентно имеют библиотеки:
- сигналов,
- IoC-контейнеров,
- для Unit-тестирования (библиотека для Unit-тестирования, написанная без Unit-тестов - это страшное кащунство и нигде такого не видел),
Но вообще там много (может больше половины) либ с юнит-тестами.

Совет: не надо бояться асинхронных юниттестов - потому что не надо их писать - лучше свести к синхронным (обычно это не вызывает проблем)

Как IDE лучше использовать FlashBuilder - там есть встроенный плагин для генерации, а главное, запуска тестов (вобщем-то, это единственная IDE с таким плагином). Можно и вручную, конечно, запускать - но невозможность запуска только нужного теста без правок метатегов напрягает, да и просто навигацию к упавшему тесту сделать хочется.

Deimos747
15.06.2012, 13:41
expl, спасибо) Буду разбираться. Использую FDT+Eclipse, надеюсь получится через ant подцепить

expl
15.06.2012, 13:48
Должно получиться, народ, вроде, так делает. Просто запуск через шоткат теста под курсором вызывает наркотическую зависимость, что другие методы уже не прельщают.

С другой стороны, может оно и правильнее через ant, другие возможности появляются.
Да, и его же под дебагером хочется запускать, с ant-ом такое прокатит? (хотя при необходимости, ничего не мешает запускать тесты как обычный проект)

Deimos747
15.06.2012, 18:15
В крайнем случае придётся использовать debug-версию плеера и уже по информации с него искать ошибку.
В свободное время попробую всё это заставить работать.