我是Cucumber.js的新手,尝试在步骤定义中执行shell命令。下面的示例是一个步骤定义片段,Cucumber.js不会打印标准输出。我基本上需要在一个步骤中访问stdout和stderr。
var exec = require('child_process').exec;
this.Given(/^XYZ server is running$/, function(callback) {
child = exec('pwd', function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
callback();
});
答案 0 :(得分:1)
在nodejitsu上看起来是一个很好的例子。
var childProcess = require('child_process'),
ls;
ls = childProcess.exec('ls -l', function (error, stdout, stderr) {
if (error) {
console.log(error.stack);
console.log('Error code: '+error.code);
console.log('Signal received: '+error.signal);
}
console.log('Child Process STDOUT: '+stdout);
console.log('Child Process STDERR: '+stderr);
});
ls.on('exit', function (code) {
console.log('Child process exited with exit code '+code);
});