[Moscow.pm] юнит тесты

Naim Shafiev shafiev на gmail.com
Сб Мар 17 00:59:18 PDT 2012


17 марта 2012 г. 9:22 пользователь Alexandr Alexeev <afiskon на gmail.com> написал:
>>> но это параллельная вселенная
>
> Значит, я живу в параллельной вселенной.
>

Я моментами тоже , походу :)

>>> это хорошо, когда с нуля
>

Тогда это очень к месту.
Но если софт старый + и ты его функций не знаешь тогда - начинается ад.
Я вот сам на работе с этим сталкиваюсь.

> Ну вот есть у вас код, которому 6+ лет. Вроде работает, верно? Теперь когда
> пишите фичу - покрывайте ее тестами. Правите багу - покрывайте тестами.
> Точнее, в соответсвии с TDD - сначала пишите тест, который фейлится, а затем
> правите код так, чтобы не фейлился. Самое сложное - это тестировать
> взаимодейтсвие с окружающим миром - сетями, БД и тп. Но для таких целей на
> CPAN полно готовых модулей, например DBD::Mock и прочих %Mock%
>
>>> потеряное время на написание тестов
>
> Это самое большое заблуждение на счет тестов. Они не отнимают время, а
> экономят. Вот представьте, что у вас много больше 1000 строк кода с очень
> неявной бизнес-логикой. Когда к вам приходят с таскам где-то эту логику
> поменять-добавить, вы правите и надеетесь, что нигде ничего не взорвется.
> Временами что-то взрывается и вам приходится тратить многие часы на
> исправление бага. Автоматические тесты можно прогонять хоть каждую минуту.
> Потому, вы сразу узнаете, что написали что-то не так и быстро исправляете
> баг, потому что этот баг явно в только что написанном коде, который вы еще
> очень хорошо помните.

+1

>
> Плюс - вы не боитесь делать рефакторинг, ибо если в результате него тесты
> проходят, значит все ОК.
>
> Плюс - при деплое вы сразу узнаете обо всех возможных проблемах. У меня так
> недавно при деплое проекта под CentOS быстро выявилась проблема с
> File::fgets - я за 5 минут переписал код так, чтобы он не использовал этот
> модуль и быстро выкатил проект в бой. А между тем этот модуль использовался
> при загрузке файлов в одной из многих форм и если бы автоматических тестов
> не было, бага выявилась бы в самый неподходящий момент.
>
>
> 17 марта 2012 г. 0:02 пользователь Andrei <andrei.protasovitski на gmail.com>
> написал:
>
>> http://shop.oreilly.com/product/9780596100926.do -- замечательная книга.
>>
>> 16 марта 2012 г. 20:43 пользователь Nick Knutov <mail на knutov.com> написал:
>>
>>> Привествую всех,
>>>
>>> а расскажите пожалуйста, что лучше почитать про юнит тесты, в контексте
>>> "как придумать что тестировать"?
>>>
>>> Реальный пример - я пишу разные биллинги и около-хостинговые панельки, и
>>> вот они уже таких размеров, что я начинаю думать, что юнит тесты уже
>>> наверное таки нужны, но из-за этих же размеров я не могу придумать что же
>>> именно тестировать, так чтобы был покрыт тестами весь код.
>>>
>>> --
>>> Best Regards,
>>> Nick Knutov
>>> http://knutov.com
>>> ICQ: 272873706
>>> Voice: +7-904-84-23-130
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>
>>
>>
>>
>> --
>> Andrei Protasovitski
>> < andrei[dot]protasovitski[at]gmail[dot]com >
>> Diemen, Netherlands
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>
>
>
> --
> С уважением, Александр
> Личный блог: http://eax.me/
> Мой форум: http://it-talk.org/
> Мой Twitter: http://twitter.com/afiskon
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm