Node.js unit test spawn命令查看npm包详情

Node.js unit test spawn command to view npm package details

我正在创建一个函数来获取包名称的 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');
  }
});

好的,使用了重新布线和模拟重生的组合。