2015-03-19 4 views
4

Как вы можете протестировать блок document.ready с помощью Jasmine? Чтобы быть более конкретным, если у меня есть блок, как это:Как выполнить тестирование функции document.ready() с использованием жасмина

$(document).ready(
    function() { 
     abc = true; 
    } 
}); 

Как вы проверить, что внутренняя функция была вызвана, когда документ был готов, используя Жасмин?

+3

Вам не нужно проверить '$() ready'.. 'jQuery' имеет собственное тестирование, поэтому вы можете быть уверены, что функция будет вызываться, когда документ будет готов. Если вы хотите реализовать более широкий интеграционный тест, это будет зависеть от того, что делает ваша функция. Например, если функция активировала какую-то кнопку, вы можете написать тест, который обеспечил бы, что кнопка включена. Ваш вопрос действительно слишком широк. – m59

ответ

3

Как вы можете протестировать блок document.ready с использованием Jasmine? Чтобы быть более конкретным,> если у меня есть блок, как это:

$ (документ) .ready ( функции() { а = TRUE; } );

Мое понимание, что код, который вы написали в документе $ (document) .ready, выше, не поддается тестированию. Эта ссылка имеет хорошее объяснение того, как сделать его более проверяемым: http://bittersweetryan.github.io/jasmine-presentation/#slide-17

Как вы проверяете, что внутренняя функция была вызвана, когда документ был готов, используя Жасмин?

Отправлено выше м59 в комментарии уже.

1

Вы можете реорганизовать свой код, чтобы быть что-то вроде этого:

var onReady = function(){ 
    abc = true; 
} 

$(document).ready(onReady); 

и тесты:

it("Tests abc", function() { 
    onReady() ; 
    expect(tesabctVar).toEqual(true); 
}); 
Смежные вопросы