Подтвердить что ты не робот

Есть ли аналог spyOn в QUnit?

Я пишу спецификации для разных тестовых примеров для Jasmine и QUnit, чтобы сравнить их, и они выглядели одинаково, прежде чем мне нужно было написать тест, чтобы проверить, привязано ли событие к элементу.

Связывание событий выглядит как

$('.page').live('click', function() { page_clicked( $(this) ) });

page_clicked - частный метод, но он вызывает общедоступный метод другого модуля.

Вот спецификация Жасмин:

it('should bind events to pages', function() {
    spyOn( search, 'get_results' );

    $('.page:eq(0)').trigger('click');

    expect( search.get_results ).toHaveBeenCalled();
});

Этот тест работает. Теперь я пытаюсь написать тот же тест для QUnit и не могу найти ничего похожего на spyOn. Как написать этот тест для QUnit?

4b9b3361

Ответ 1

Его причина QUnit не имеет шпионов или издевок. Но вы можете использовать Sinon.JS mocking framework. Ваш тест должен выглядеть так: sinon spy:

var spy = sinon.spy(search, 'get_results');
sinon.assert.calledOnce(spy);