2013-10-09 4 views
0

Я использую жасмин для проведения тестирования.Как проверить, был ли метод вызван в данном селекторе jQuery?

В принципе, я хочу убедиться, что для данного jQuery-селектора выполняется конкретный метод.

например.

$('.hidden-tag').show() 

В настоящее время у меня есть следующие:

describe("Test", function() { 
    beforeEach(function() { 
    spyOn(window, '$').andCallThrough(); 

    loadFixtures('my_fixture.html'); 
    }); 

    it("should call show method on the jQuery selector '.hidden-tag'", function() { 
    expect($).toHaveBeenCalledWith('.hidden-tag'); 
    }); 

}); 

Первая часть работы. Как я могу проверить, что метод show отображается?

+0

Насколько я знаю, нет прямого способа сделать это ... возможно, небольшой взлом может помочь вам –

+2

, как в http://jsfiddle.net/arunpjohny/GhMRs/1/ –

ответ

0

Использование :visible селектор, как,

alert($('.hidden-tag').is(":visible")); 

Использование $('.hidden-tag').is(":visible") в if condition как

if($('.hidden-tag').is(":visible")) 
{ 
    expect($).toHaveBeenCalledWith('.hidden-tag'); 
} 
+0

Это не то, что я хочу, к сожалению, , Это даже не обязательно должно быть методом «шоу». Это потенциально может быть любой метод, который я хочу проверить. –

-1

Попробуйте установить Огонь Ошибка в Firefox. В этой открытой консоли вы получите, если есть ошибка при вызове метода 'show'.

Также вы можете вставить предупреждение (сообщение) непосредственно перед и после метода. Если предыдущее предупреждение() не вызывается, тогда проблема лежит где-то перед «показом», и если после того, как alert() не вызывается, «show» получил некоторую ошибку.

+0

OP запрашивает способ подтверждения вызова во время автоматического тестирования, а не разведочное тестирование. –

Смежные вопросы