Rudimentary testing is added to chat application#1
Rudimentary testing is added to chat application#1nmakarov wants to merge 4 commits intoiliakan:masterfrom nmakarov:master
chat application#1Conversation
|
Тестов нет по одной, но важной причине - они плохо ложатся в изложение. Покрытие тестами чего-либо требует навыка. Чтобы тестировать нечто, нужно хотя бы в общих чертах понимать: что, откуда и куда. Поэтому в текущих сериях тестирования нет. По методологическим причинам, а вовсе не из-за того, что я сам не использую тесты. Добавлять же в примеры код, который вообще не описан в скринкастах - не стоит. Серия про правильные тесты, со своими примерами, была бы хорошим дополнением к скринкасту, которое идёт поверх и в дополнение к изложенному материалу, повышая общий уровень разработки. |
Ни боже мой, конечно, же. Смысл пулл-реквеста - это чтоб был предметный разговор. Ну, если вдруг, когда-нибудь, вы соберетесь записать еще один скринкаст, то, типа, было бы неплохо на тему рефакторинга чата для его тестирования.
О том и речь. Очень сложно переучиваться, чтобы писать код, который легко (и вообще, возможно) тестировать. Зато код получается правильный. Знаете, за десяток лет программизма во всяких Канадских и международных организациях я по пальцам одной руки могу пересчитать те из них, кто хоть как-то уделяет серьезное внимание тестированию, а не отмахивается от него, как от назойливой мухи (странно, да?). Так что я в меру сил пытаюсь двигать в массы (в основном, в индусские) если уж не TDD, то хотя бы уважение к тестам и понимание их принципов. Ну так что, можно я этот свой код оформлю в качестве статьи и положу на Хабр? -Nick On Jan 6, 2014, at 1:09 AM, iliakan notifications@github.com wrote:
|
|
Конечно, выкладывайте свой код - на хабр или ещё куда-то. Приму пулл реквест, который добавляет тесты, а может и урок по ним в дополнение к скринкасту. Best Regards, 6 января 2014 г., 13:37 пользователь nmakarov notifications@github.comнаписал:
|
Илья, мне очень понравилась серия подкастов про ноду и как на ней делать чат. Откровенно говоря, я считаю, что ваши подкасты - реально лучшее, из того, что есть на сегодняшний день (и не только в русскоязычном сегменте, я бегло просмотрел более десятка разных) - у вас получилось наиболее сжато и жизненно, т.е. как в реальных проектах. Также понятно, что всего не охватишь, хотя хотелось бы видеть развитие этой серии про то как прикрутить всякие прочие штуки к чату - sass, grunt, git/autodeploy+jenkins, доки, coffee и прочее. А если это все хозяйство еще и перевести на английский, то оно мне просто-таки несказанно облегчит жизнь - я всяким своим новым индусским девелоперам просто буду давать ссылку и через неделю они будут готовенькими нодными джуниорами.
Но больше всего мне хотелось видеть тесты. Я вообще плохо воспринимаю код, не покрытый тестами и по работе требую того же от других. Так что я за пару часов накидал примитивное тестирование сервера. В двух словах - чуть подправил dependencies в package.js, кинул туда supertest и should. Перенес практически весь app.js в lib/ и сказал ему экспортировать объект
serverнаружу. Ну и чуть подправил пути. А, еще подправилscriptsвpackage.js- там теперь да таргета, start и test и они включают установку локального энвайронмента (пока нет gruntа, и так вполне сойдет).Теперь этот lib/app можно подключать как из основного app.js так и из test/app.js.
Если у вас нет возражений, собираюсь вот это все в хабр заслать, авось инвайт дадут.