2015-02-10 88 views
0

我正在寫一個角度碼的量角器測試,它將一個項目添加到用ng-repeat顯示的列表中。
我想檢查一下,當用戶點擊一個按鈕時,另一個項目會在幾百毫秒內添加到列表中。
項目的初始計數未知。
量角器/茉莉花:與<量的匹配>匹配>

測試僞碼是這樣的:

var e = element.all(by.repeater(...)) 
getButtonPromise().click() // -> XHR to server, which adds item to list 
expect(e.count()).toBe(XXX) 

限制條件:

1)項的初始數目之前必須點擊執行

2來測量)的預期值是(初始值+ 1)

3)expect(...)必須定期運行,直到超時或列表co UNT已達到預期值

4)用於試驗的其餘的控制流必須停止,直到預期(...)解析爲

我已經試過各種方法,但沒有任何工程的成功或超時。 在解決這一常見測試模式方面的幫助表示感謝。

回答

0
var e = element.all(by.repeater(...)) 

e.count().then(function(oldCount) { 
    getButtonPromise().click(); 
    browser.wait(function() { 
    return e.count().then(function(newCount) { 
     return newCount === oldCount + 1; 
    }) 
    }, YOUR_TIMEOUT_IN_MILLISECONDS); 

    expect(e.count()).toEqual(oldCount + 1); // this is optional because if this isn't true, it would have timed out already. 

})