<div>>> но это параллельная вселенная</div><div><br></div><div>Значит, я живу в параллельной вселенной.</div><div><br></div>>> это хорошо, когда с нуля<div><br></div><div>Ну вот есть у вас код, которому 6+ лет. Вроде работает, верно? Теперь когда пишите фичу - покрывайте ее тестами. Правите багу - покрывайте тестами. Точнее, в соответсвии с TDD - сначала пишите тест, который фейлится, а затем правите код так, чтобы не фейлился. Самое сложное - это тестировать взаимодейтсвие с окружающим миром - сетями, БД и тп. Но для таких целей на CPAN полно готовых модулей, например DBD::Mock и прочих %Mock%</div>
<div><br></div><div>>> потеряное время на написание тестов</div><div><br></div><div>Это самое большое заблуждение на счет тестов. Они не отнимают время, а экономят. Вот представьте, что у вас много больше 1000 строк кода с очень неявной бизнес-логикой. Когда к вам приходят с таскам где-то эту логику поменять-добавить, вы правите и надеетесь, что нигде ничего не взорвется. Временами что-то взрывается и вам приходится тратить многие часы на исправление бага. Автоматические тесты можно прогонять хоть каждую минуту. Потому, вы сразу узнаете, что написали что-то не так и быстро исправляете баг, потому что этот баг явно в только что написанном коде, который вы еще очень хорошо помните.</div>
<div><br></div><div>Плюс - вы не боитесь делать рефакторинг, ибо если в результате него тесты проходят, значит все ОК.</div><div><br></div><div>Плюс - при деплое вы сразу узнаете обо всех возможных проблемах. У меня так недавно при деплое проекта под CentOS быстро выявилась проблема с File::fgets - я за 5 минут переписал код так, чтобы он не использовал этот модуль и быстро выкатил проект в бой. А между тем этот модуль использовался при загрузке файлов в одной из многих форм и если бы автоматических тестов не было, бага выявилась бы в самый неподходящий момент.</div>
<div><br><br><div class="gmail_quote">17 марта 2012 г. 0:02 пользователь Andrei <span dir="ltr"><<a href="mailto:andrei.protasovitski@gmail.com">andrei.protasovitski@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<a href="http://shop.oreilly.com/product/9780596100926.do" target="_blank">http://shop.oreilly.com/product/9780596100926.do</a> -- замечательная книга.<br><br><div class="gmail_quote">16 марта 2012 г. 20:43 пользователь Nick Knutov <span dir="ltr"><<a href="mailto:mail@knutov.com" target="_blank">mail@knutov.com</a>></span> написал:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Привествую всех,<br>
<br>
а расскажите пожалуйста, что лучше почитать про юнит тесты, в контексте "как придумать что тестировать"?<br>
<br>
Реальный пример - я пишу разные биллинги и около-хостинговые панельки, и вот они уже таких размеров, что я начинаю думать, что юнит тесты уже наверное таки нужны, но из-за этих же размеров я не могу придумать что же именно тестировать, так чтобы был покрыт тестами весь код.<span><font color="#888888"><br>


<br>
-- <br>
Best Regards,<br>
Nick Knutov<br>
<a href="http://knutov.com" target="_blank">http://knutov.com</a><br>
ICQ: 272873706<br>
Voice: <a href="tel:%2B7-904-84-23-130" value="+79048423130" target="_blank">+7-904-84-23-130</a><br>
-- <br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br>Andrei Protasovitski<br>< andrei[dot]protasovitski[at]gmail[dot]com ><br>Diemen, Netherlands<br>

</font></span><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>С уважением, Александр<br>Личный блог: <a href="http://eax.me/" target="_blank">http://eax.me/</a><br>Мой форум: <a href="http://it-talk.org/" target="_blank">http://it-talk.org/</a><br>
Мой Twitter: <a href="http://twitter.com/afiskon" target="_blank">http://twitter.com/afiskon</a><br><br>
</div>