0
黃瓜JS child_process我嘗試寫一些CucumberJS功能,這將考驗我創建的NodeJS命令行應用程序,但是我遇到了能夠要素步內執行child_process
問題。在功能步
只是爲了得到一個概念證明工作我試圖執行ls -l
命令。
我有的代碼是;
var ChildProcess = require('child_process');
function execCmd() {
console.log('Testing command...');
var bin = ChildProcess.exec('ls -l', { timeout: 5 }, function(error, stdout, stderr) {
console.log('executing...');
console.log(error);
console.log(stdout);
console.log(stderr);
});
bin.on('exit', function(code) {
console.log('Code: ' + code);
});
}
module.exports = function() {
this.Given(/^I am on the command line$/, function(callback) {
execCmd();
callback();
});
}
執行cucumber-js
不會從執行的命令輸出任何內容。輸出如下;
Testing command...
.
1 scenario (1 passed)
1 step (1 passed)
但如果我只是函數定義之後調用execCmd()
,去除module.exports
塊和運行node cli.js
我看到正確的輸出(即文件列表)。
我見過how to access stdout,stderr, and error in cucumber.js step definition using nodejs child_process exec,它沒有回答這個問題,只是陳述如何執行一個命令,沒有具體的在CucumberJS步驟中運行這個命令。
謝謝!