2013-06-19 1 views
2

Я пытаюсь написать тест, который проверяет, имеет ли элемент класса:AngularJS сценарии ожидают класс и фьючерсы

element('#header-menu .menu-component-item a').query(function(els, done) { 
    var el = els.eq(4); 

    el.click(); 
    sleep(.25); 

    expect(browser().location().path()).toBe(el.attr('href')); 
    expect(el.attr('class')).toContain('selected'); 
    done(); 
}); 

Вопрос заключается в том, что я получаю ошибку TypeError: Cannot read property 'indexOf' of undefined. Я ожидал, что el.attr('class') станет будущим, но я не уверен, почему это не так. Есть ли другой способ?

ответ

0

Необходимо, чтобы ваши изменения изменились до их вступления в силу. Попробуйте следующее:

var el = els.eq(4); 

el.click(); 
scope.$digest(); 

expect(browser().location().path()).toBe(el.attr('href')); 
expect(el.attr('class')).toContain('selected'); 

Хотя большая часть вашего кода очень похожа на JQuery-like для приложения с угловыми углами.