Pull to refresh

Comments 12

Работает! Круто!
Фича поистине чудеснейшая. А то я задолбался уже console.log() или sys.puts() расставлять по коду :)
> 3. Редактирование runtime-кода!
Вау! /me пускает слюньки
LiveEdit, к сожалению, не всесилен и иногда ведет себя непостижимым для простого человека образом, если правка не тривиальная.
Была пара тредов с удивлением в nodejs листе, когда ryah попросил потестировать ветку с перегрузкой модулей по живому реализованной через LiveEdit (кажется эта — github.com/joyent/node/tree/reload).
Node-inspector штука отличная, но у меня работает очень не стабильно. Более того, у меня пока что ни один дебаггер(node-inspector, ndb, node debug) не заработал с unit-test фреймворками: ни с node-qunit, ни с nodeunit. Есть у кого опыт отладки тестов?
чуть чуть оффтоп, но ведь тесты как раз и созданны чтоб свести процесс деббагинга до минимума — т.е. вместо дебаггинга просто нужно просто написать тест, уменьшив захват проверяемого кода и так рекурсивно пока не найти нужный кусок, который не работает :)

А по теме: а не поделитесь немного опытом создания тестов для nodejs? я пока набросал для себя мини-модуль, который позволяет писать типа:
(given)
(
   function() { .... }
}
(when)
(
   function() { ...}
) 
(then)
(
   function() { should(); should(); ...) 
) 
()

и скриптик который запускает эти спецификации из папки.

код тривиальный, но возможно я изобретаю велосипед? погуглив ничего не нашел толкового
Я использую expresso из кроме простой формы написания тестов в.т.ч асинхронных умеет составлять code coverage отчеты, в довольно красивом виде, но только в консоли. Из недостатков — предоставляет формат вывода только для разработчика — не подходит для автоматизированного тестирования и CI.

Есть ещё Vows у него более продвинутая форма тестирования(интересный для изучения), он умеет выдавать разные формы отчетов — подходит для автоматизированного тестирования и CI, но не умеет code coverage.

Ну и QUnit for nodejs для тех кто привык к QUnit (он обратно совместим с QUnit)
Стандарта тестирования де-факто под node.js ещё нет — пока все на вкус и цвет :)
<оффтоп>
А можно реквестировать статью по инфраструктуре запуска существующих node приложений?
Имеются в виду сугубо практические приёмы: что прописывается в nginx, как устроен демон/скрипт запуска node в случае падения, где работает и как запускается node (например, в screen или в виде еще чего подобного), если оформлен в виде службы, то каким образом.
</оффтоп>
Думаю это то, что вы искали и добавлю чуть больше
1. Красивый запуск node.js приложений Init + Monit nodejs.ru/296 (я запускаю через start-stop-daemon потом планирую переделать)
2. Прокси node.js<->nginx stackoverflow.com/questions/5009324/node-js-nginx-and-now
3. Кластер node.js — запуск нескольких воркеров (node.js по молчанию использует только 1 процессор) без особого изменения логики приложения learnboost.github.com/cluster/
4. Горячая замена кода nodejs.ru/59 (я просто рестартую демона — потерь при рестарте практически нет при нагрузке в 200 рпс)
nodejs.ru/296
То, что нужно, спасибо! Как сам пропустил, не понимаю.
По запуску приложений можно также посмотреть в сторону forever.
Sign up to leave a comment.

Articles

Change theme settings