我正在构建一个小的命令行工具,但遇到了测试问题。
如何测试当前进程在stderr
中写了“omg”?
process.stderr.write("omg")
最佳答案
如果还没有,请安装 Mocha:
npm install -g mocha
shouldpass.js:
process.stderr.write('omg')
shouldfail.js:
process.stdout.write('not omg on stderr')
测试.js:
var exec = require('child_process').exec
, assert = require('assert')
describe('run tests', function(){
it('should pass', function(done) {
exec('node ./shouldpass.js', function(err, stdout, stderr) {
assert.equal(stderr, 'omg')
done()
})
})
it('should fail', function(done) {
exec('node ./shouldfail.js', function(err, stdout, stderr) {
assert.equal(stderr, 'omg')
done()
})
})
})
运行:
mocha test.js
关于javascript - 如何断言 process.stderr 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14404293/