我有以下功能:
var doSomething = function(){
var insertHere = document.getElementById('insertHere');
var item = document.createElement('a');
item.innerHTML = "hello";
insertHere.appendChild(item);
};
如您所见,这会直接向document
添加项目。我想测试这个功能,不确定最好的方法。我想过使用jsdom,但doSomething
期望文档可用,我能看到如何做到这一点的唯一方法是将document
作为可选参数传递...
// In my test, create a document using jsdom and pass it to the function.
var jsdom = require("jsdom").jsdom;
var jsdomDocument = jsdom("<html><body><div id='insertHere'></div></body></html>");
doSomething(jsdomDocument );
// Then adjust the function to accept this document.
var doSomething = function(jsdomDocument){
document = jsdomDocument || document;
...
};
......还是有更好的方法来测试这个功能吗?