我正在尝试使用 proxyquire 来存根 child_process 模块的 spawnSync 方法,但它不起作用。console.log(gitResponse)
我的文件index.js
中的 不返回存根字符串,而是未存根响应(在本例中为 git 帮助文本)。
有人可以看到我做错了什么吗?
/index.js
var childProcess = require('child_process');
function init () {
var gitInit = childProcess.spawnSync('git', ['init']);
var gitResponse = gitInit.stdout.toString() || gitInit.stderr.toString();
console.log(gitResponse);
}
module.exports = {
init: init
}
/test/indexTest.js
var assert = require('assert');
var index = require('../index.js');
var sinon = require('sinon');
var proxyquire = require('proxyquire');
describe('test', function () {
it('tests', function () {
var spawnSyncStub = function (command, args) {
return {
stdout: {
toString: () => "git init success string"
}
};
};
proxyquire('../index.js', {
'child_process': {
spawnSync: spawnSyncStub
}
});
index.init();
}
}