2013-06-19 79 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

您需要對$digest()進行更改才能生效。試試這個:

var el = els.eq(4); 

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

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

雖然你的代碼看起來很像JQuery,但是對於Angular應用程序來說。