SINON unittesting存根构造函数

时间:2018-01-15 21:15:21

标签: node.js unit-testing sinon stub

我正在尝试在节点中存根构造函数但我真的不能。

我找到了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

任何人都可以帮我告诉我我的错误在哪里或其他方式来模拟/存根这些东西?

非常感谢!

1 个答案:

答案 0 :(得分:0)

Haven没有尝试运行你的代码,但看起来foo-client应该是一个函数而不是一个对象,以便var bar = foo()不会抛出你看到的错误。请尝试以下方法:

Papers.libraryWindows[0].displayedPublications.get()