QUnit嘲笑自动完成
QUnit mocking out Autocomplete
本文关键字:QUnit 更新时间:2023-09-26
在我的QUnit测试中,我想模拟自动完成方法(jQuery UI),但每次我运行测试时,都像:
test("Create_PassedContainer_RunsAutocompleteOnMatchingElement",function(){
var $matchingInput = $('<input data-autocomplete-url="some"/>');
var $dom = $('<div><input/></div>');
$dom.append($matchingInput);
var autocompleteWasCalled = false;
$matchingInput.autocomplete = function(){ autocompleteWasCalled = true; };
new Autocomplete($dom);
ok(autocompleteWasCalled,"Should call autocomplete.");
});
我得到的结果:
TypeError: Object [object Object] has no method 'autocomplete'.
测试中的代码:
function Autocomplete($container) {
var $self = this;
this.Initialize = function($container) {
$self.$container = $container;
$self.$text = $('*[data-autocomplete-url]', $container);
$self.$value = $('input[type="hidden"]', $container);
$self.$text.autocomplete();
};
$self.Initialize($container);
};
任何事情都会有所帮助。
自动完成是一个插件,试试这个:
var oldAutocomplete = $.fn.extend(true, {}, $.autocomplete);
$.autocomplete = function(){
autocompleteWasCalled = true;
}
/// Other code...
$.fn.autocomplete = oldAutocomplete;
相关文章:
- 如何为requirejs和qunit设置grunt任务
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- QUnit 测试错误与 IE(Internet Explorer)
- QUnit嘲笑自动完成
- 是否可以模拟 qUnit 测试的窗口位置对象
- 如何在 Javascript 和 qUnit 中模拟字符串函数
- 使用qunit.js查询事件回调测试
- 使用QUnit测试项是否具有某个类
- 如何在解析Promise时运行qunit断言
- Qunit 不可见的功能
- 检查qunit中是否有两个异步调用
- 在 Qunit 测试中使用 Zend 部分视图帮助程序
- 不能在 QUnit 测试中使用从 http url 引用的 jQuery
- QUnit Multiple asyncTest with setTimeout
- 在烧瓶下运行 Qunit 测试的最佳方法
- NodeJS + QUNIT:在测试中保存返回的异常
- beforeEach 不会在模块化 QUnit/Sinon 测试中使用 CoffeeScript 中的 Require.
- QUnit - 如何比较两个复杂对象
- QUnit.test 在 for 循环中运行
- Qunit是否可以自动运行测试