【发布时间】:2017-08-23 12:01:17
【问题描述】:
//foldercontroller.js file
// Self invoking function.
(function()
{
....
lib.FolderController = FolderController;
function FolderController(thePath)
{
.... // Some other initializations and other functions
this.getFileList = getFileList;
function getFileList()
{
return someArray;
}
}
})();
我想在下面的代码中存根上面的 getFileList 函数。我正在使用 sinon 库。我做了一些事情,但我没有希望
// FileCacheTest.js file Here I want to test some feature
var fileList = ["a","b","c"];
var filesStub = sinon.stub(lib.FolderController, "getFileList")
.callsFake(function fakeFn(){
return fileList;
});
我得到了这个结果:
TypeError:试图将未定义的属性 getFileList 包装为函数
用例如下。我想在调用folderController.getFileList(); 时获取我想要的文件列表
var folderController = new lib.FolderController(theDirectory);
var files = folderController.getFileList();
我的问题是如何存根这个 getFileList 函数?
【问题讨论】:
-
getFileList 是未定义的,因为它是在实例化中定义的......我想你想把它放在原型中或实例化对象。
标签: javascript unit-testing sinon