我正在尝试测试与jquery plugin非常相似的自定义query-ui.autocomplete。一旦应用于输入元素,它就能够根据.input-box
中的内容搜索db表中的条目。一旦javascript在DB中找到任何匹配项,它就会在.suggestion-box
下生成另一个元素.input-box
。并使用所有结果填充.suggestion-box
元素。
我的意图是:
输入元素:
<input class="widget input-box default" id="" type="text" value="type a car name">
搜索功能本身正在按预期工作,只是我想使用 QUnit 运行几个测试。
到目前为止,我只有这个:
QUnit.module( "group B" );
QUnit.test( "a test", function( assert ) {
assert.expect( 1 );
var $input_box = $(".widget.input-box" );
$input_box.on( "click", function(e) {
assert.ok( true, "Input-box was clicked" );
console.log($('ul', $(".suggestion-box")).length);
});
$input_box.val('B')
$input_box.click();
});
运行之后,我可以清楚地看到“click”事件被正确触发以及搜索功能。即使它返回了一些结果,QUnit测试仍然报告零结果。
有没有办法纯粹使用 Qunit 进行测试,还是需要使用其他任何插件?
答案 0 :(得分:0)
我想唯一的方法就是检查.input-box
元素的事件,看看搜索结束的时间。
$input_box.on( "search:complete", function(e){
assert.ok($('ul', $suggestion_box).length > 0, "The number of entries is greater than 0." );
});