有沒有人有任何想法,如果這是可能的?節點檢查器的大部分示例似乎都適用於調試被調用的網頁。我希望能夠調試茉莉花節點測試。使用節點檢查器調試茉莉節點測試
回答
我最後寫一個小UTIL稱爲切換:
require('tty').setRawMode(true);
var stdin = process.openStdin();
exports.toggle = function(fireThis)
{
if (process.argv.indexOf("debug")!=-1)
{
console.log("debug flag found, press any key to start or rerun. Press 'ctrl-c' to cancel out!");
stdin.on('keypress', function (chunk, key) {
if (key.name == 'c' && key.ctrl == true)
{
process.exit();
}
fireThis();
});
}
else
{
console.log("Running, press any key to rerun or ctrl-c to exit.");
fireThis();
stdin.on('keypress', function (chunk, key) {
if (key.name == 'c' && key.ctrl == true)
{
process.exit();
}
fireThis();
});
}
}
你可以將其放到你的單元測試,如:
var toggle = require('./toggle');
toggle.toggle(function(){
var vows = require('vows'),
assert = require('assert');
vows.describe('Redis Mass Data Storage').addBatch({
....
然後運行你的測試,如:節點--debug MYFILE .js調試。如果您運行調試切換將等待,直到你什麼,但ctrl-c。 Ctrl-c退出。你也可以重新運行,這很好。
w0000t。
我沒有受過教育的猜測是,你需要修補茉莉花,我相信它產生了一個新的節點進程或運行測試時的東西,而這些新進程需要啓用調試功能。
我也有類似的願望,並設法使用Eclipse作爲調試expressso工作: http://groups.google.com/group/nodejs/browse_thread/thread/af35b025eb801f43
...但我意識到:如果我需要逐步完成我的代碼來了解它,我可能需要重構代碼(可能會更易於測試),或將我的測試分解成更小的單元。
你的測試是你的調試器。
總之,剛剛調試茉莉節點:
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js spec/my_spec.js
如果你看一下jasmine-node
腳本的來源,它只是調用cli.js
,我發現我可以調試腳本就好了。
我想使用節點檢查器來調試CoffeeScript測試。只需添加--coffee
開關就可以很好地工作,例如
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js --coffee spec/my_spec.coffee
實際上,這似乎工作正常。加載調試器後按下'恢復腳本執行'按鈕。這會將您帶到第一個斷點。我不確定爲什麼我的第一次測試退出了。 – 2013-08-17 15:59:53
重要的是不要指定--autotest命令行選項,因爲它使默認情況下不可調試的jasmine-node spawn子進程沒有這個選項,它工作的很好 – xorcus 2015-02-01 21:46:20
如果它幫助別人 - 我想用更新的節點檢查器: 'node-debug /usr/local/lib/node_modules/jasmine-node/lib/jasmine-node/cli.js spec /' – 2015-04-22 21:49:27
- 1. 用茉莉節點測試
- 2. 節點JS茉莉測試
- 3. 茉莉花節點測試子進程
- 4. 檢查使用茉莉節點加載的節點模塊
- 5. 節點檢查器調試
- 6. 調試ES6使用節點檢查或通天節點調試
- 7. 使用節點檢查器調試nodejs
- 8. 如何使用RequireJS運行茉莉花節點測試
- 9. 使用節點檢查器調試節點src/http.js
- 10. 茉莉花誤報{}和[]茉莉節點
- 11. 調試V8與節點檢查器
- 12. 茉莉花節點和竹子 - 測試失敗
- 13. 茉莉花節點測試總是通過
- 14. 茉莉花的角度測試無法比較html節點
- 15. 如何從grunt執行節點模塊的茉莉花測試
- 16. 咕嚕茉莉節點測試運行兩次
- 17. 失敗的測試茉莉節點不顯示
- 18. 茉莉花節點沒有顯示測試結果
- 19. 茉莉花節點需求*
- 20. Travis-CI與茉莉節點
- 21. 包括茉莉節點
- 22. 使用茉莉花測試套件測試點擊事件
- 23. 使用節點調試調試節點js
- 24. 如何測試Knockout.js點擊茉莉
- 25. 使用摩卡測試節點回調
- 26. 使用節點檢查器調試meteorjs應用程序
- 27. 如何使用節點檢查器調試Sails.js應用程序?
- 28. 使用節點檢查器調試腳本不起作用
- 29. 無法調試節點子進程(使用節點本機調試器)
- 30. NodeJS:使用節點檢查器調試RailwayJs
顯然不是真的。看伊恩的答案。 – 2013-08-17 16:00:37
我也相信node-inspector不能與jasmine-node一起工作,因爲jasmine-node會產生子進程,而node-inspector不會處理這個。搜索解決方案給出的提示是,process.debug_port必須設置爲每個子進程的唯一值,但這需要篡改茉莉花節點源代碼,我猜 – xorcus 2015-02-01 21:13:26