我正在尝试在节点中存根构造函数但我真的不能。
我找到了this,这与我需要做的非常相似,但我有一个我无法解决的错误。
//file.js
var foo = require('foo-client')
function toTest () {
var bar = foo()
returns config = bar.foo2(a,b) // returns a Promise
}
我在测试文件中尝试做的是
//file-sepc.js
var stub = sinon.stub()
stub.returns(Promise.resolve('config'))// config it's just an example
var file = proxyquire('./file.js', {
'foo-client':{foo2: stub}
})
file.toTest()
.then((result) => {
console.log(result)
done()
})
假设节点语法正确,我得到了这个输出:
TypeError: foo is not a function
任何人都可以帮我告诉我我的错误在哪里或其他方式来模拟/存根这些东西?
答案 0 :(得分:0)
Haven没有尝试运行你的代码,但看起来foo-client应该是一个函数而不是一个对象,以便var bar = foo()不会抛出你看到的错误。请尝试以下方法:
Papers.libraryWindows[0].displayedPublications.get()