2015-09-13 3 views
1

Я пытаюсь проверить свой обычай jquery plugin, который очень похож на query-ui.autocomplete. После применения к входному элементу он может искать записи в таблице db на основе того, что находится в .input-box. Когда javascript находит какие-либо совпадения в БД, он порождает другой элемент .suggestion-box под номером .input-box. И заполняет элемент .suggestion-box со всеми результатами.QUnit - тестирование поисковой системы

Мое намерение состоит в том, чтобы:

  • вручную вызвать событие нажмите на кнопку '.Входный ящик'
  • установите флажок '.suggestion-бокс' для элементов любого 'LI'.

элемент ввода:

<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(); 
}); 

После выполнения этого, я мог ясно видеть, что «нажмите кнопку» событие было вызвано правильно, а также функции поиска. И хотя он вернул некоторые результаты, тест QUnit по-прежнему сообщает о нулевых результатах.

Есть ли способ проверить это, используя Qunit или мне нужно использовать любые другие плагины?

ответ

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."); 
}); 
Смежные вопросы