我正在创建一个函数,该函数获取软件包名称的tarball uri。它有效,但问题是如何自动化测试?我是否以某种方式嘲笑命令行或以某种方式嘲笑NPM注册表?我不确定NPM使用的协议是什么。
const spawn = require('child_process').spawn;
let url = spawn('npm', ['view', 'express', 'dist.tarball']);
url.stdout.on('data', data => {
console.log(data.toString());
});
url.stderr.on('data', data => {
console.log(data.toString());
});
//should be 0 if all OK
url.on('close', code => {
if (code) {
console.log('process failed');
}
});
好的,使用了重新产生和模拟产生的组合。