我有一個節點服務,我使用child_process spwan一個孩子,在我的情況下,孩子是一個C++二進制文件,它需要STDIN和流STDOUT。該服務正在按預期工作,現在我正在嘗試使用mocha/chai在服務中編寫單元測試,並通過伊斯坦布爾運行測試。我已經爲這些stuufs奠定了基礎,但只想獲得有關如何爲使用child_process的節點服務編寫單元測試的示例。基於這個例子,我可以嘗試爲我的服務編寫單元測試,並在Instanbul上運行它們以生成覆蓋率報告。編寫單元測試使用child_process的節點服務
服務派生孩子這個樣子,
var spawn = require('child_process').spawn,
child = spawn(pathToBinary);
child.stdin.write('JSON');
child.stdout.on('data', function (data) {
//perform operations here
});
它更好地編寫所有可以觸發數據事件回調的情況的測試。因此,它不是你想測試的回調函數,而是你最終要寫入它的內容...... – deostroll
@deostroll能否提供一些鏈接,用於這種類型的STDIN/STDOUT場景的示例單元測試? – Sai