2013-02-18 3 views
1

У меня есть следующий тест жасмин,жасмин Javascript Unit-тестирование Добавление данных HTML

describe('test', function() { 

    beforeEach(function() { 
     loadFixtures('../../Fixtures.html'); 
    }); 

    it('should add some html', function() { 

     $("#some_btn").click(); 

     expect($("#some_div")).toExist();   
    }); 

    it('should do something with the div', function() { 

     //do something 

     expect($("#some_div")).toHaveClass("some_class");   
    }); 
}); 

Срабатывание щелчок будет выполнять функцию, ведьма добавит DIV на страницу HTML,

function addDiv(){ 
    $("#existing_div").append('<div id="some_div"></div>'); 
} 

это является html,

... 
<div id="some_btn" onclick="addDiv();"></div> 
... 
<div id="existing_div"> 
    <!--where the div is supposed to be inserted--> 
</div> 

Второе испытание не выполнено. Я новичок в Жасмине, это значит, что это терпит неудачу? я что-то упускаю?

спасибо ..

Edited: Я редактировал код, я скопировал это неправильно, пропускал последнюю часть теста. К сожалению :(

+0

Какой механизм предположительно, чтобы вызвать эту функцию? – Pointy

+0

Нам понадобится больше кода, чтобы помочь –

+0

Также вам не нужно создавать такое событие: '$ ('# some_btn'). click();' сделает это за вас. – Pointy

ответ

0

Как загрузить фикстур каждый раз перед запуском одной спецификации второй спецификации должны потерпеть неудачу потому что не будет нажата кнопка была не стрелял и функция, которая присоединяет DIV был nerver выполнен для этой спецификации.

+0

Как я могу загрузить прибор только один раз? Или мне нужно делать все шаги в каждом тесте? – KatT

+0

Я думаю, что это было бы неправильно. Просто запустите событие click в каждом spec или в функции before. –

+0

Спасибо, что работает. – KatT

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