2015-02-10 49 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. 

}) 
相关问题