如果我有一个使用 Javascript 函数,像这样......$(this)[0].element.id;
updateElement(){
$(this)[0].element.id;
}
我正在使用 Qunit,有没有一种方法可以模拟'this'
我希望能够测试这个功能。
如果我有一个使用 Javascript 函数,像这样......$(this)[0].element.id;
updateElement(){
$(this)[0].element.id;
}
我正在使用 Qunit,有没有一种方法可以模拟'this'
我希望能够测试这个功能。
使用函数apply
或对象,您可以更改调用函数时call
的值:Function
this
var mock = ...
updateElement.call(mock);
this
将mock
在updateElement
上面的调用中引用。
我假设,this
那是指一些 jQuery 对象。您可以使用 jQuery 函数创建相应的对象,然后bind()
将对象附加this
到您的实际函数中:
// prepare the DOM objects
var $elem = $( '...' );
// prepare a bound function
var boundFct = updateElement.bind( $elem );
// execute your function
boundFct();