我正在使用节点v8.14.0和sinon v7.2.2。
我有一个带有静态访问器属性的类,如下所示:
class DataBuilder {
static get Meta() {
console.log('IN GET META');
return fs.readdirSync(__dirname + '/meta').map(file => require('./meta/' + file));
}
}
但是我这样做之后:
const { stub } = require('sinon');
const DataBuilder = require('./DataBuilder');
stub(DataBuilder, 'Meta').returns('foobar');
// i also tried:
// stub(DataBuilder, 'Meta').callsFake(() => 'foobar');
console.log('Meta should be stubbed:', DataBuiler.Meta);
它永远不会伪造,也不会返回伪造。