2
我有一个正在处理的节点模块,并且我想为它编写单元测试,但是我对如何将参数(CLI所需的参数)通过测试套件传递给节点感到困惑。节点CLI单元测试
让我们假设(为简便起见)模块名称为J,所以我会这样称呼它......
$ j --file test.js --file test2.js
我如何重新创建这些当我写我的测试套件--file电话?
我有一个正在处理的节点模块,并且我想为它编写单元测试,但是我对如何将参数(CLI所需的参数)通过测试套件传递给节点感到困惑。节点CLI单元测试
让我们假设(为简便起见)模块名称为J,所以我会这样称呼它......
$ j --file test.js --file test2.js
我如何重新创建这些当我写我的测试套件--file电话?
您可以使用节点的child process模块来运行其他命令行进程。 This link可以给你更多的语法信息;我还建议检查儿童进程的promised version。
var spawn = require('child-process').spawn;
spawn('j', ['--file', 'test.js', '--file', 'test2.js'])
.progress(function(childProcess){
// any logic you want to do here while process is running
})
.then(function(result){
// command was executed
// write tests here
})
.fail(function(err){
// maybe 1 last test to make sure there was no test
});
至于单元测试套件,我期待你的任何舒适的工作会(摩卡/柴等)