2015-04-24 89 views
3

我想測試一下,我的ng-repeat會生成多個元素。使用量角器測量ng-repeat中的元素數量

<div ng-repeat="topic in topics"> 
    <div class="topic-name">{{topic.name}}</div> 
</div> 

我該怎麼辦?我在文檔中找不到...
有沒有像這樣的東西?

expect(element.all(by.repeater('topic in topics')).count()).toBeMoreThan(1); 
+0

爲什麼你不能計算'主題'長度? – YD1m

回答

4

它位於Jasmine 2.0文檔中,here。 試試下面的代碼:

var count = element.all(by.repeater('topic in topics')); 
count.then(function(result){ 
    expect(result.length).toBeGreaterThan(1); 
}); 
+1

不會有那個錯誤嗎? element.all返回一個promise,它不會有'length'屬性。 – Aaron

+0

@Aaron我相信你是對的,我已經更新了答案,正確地解決了每個承諾。 –

+0

對我來說,它也適用於:expect(element.all(by.repeater('topic in topic')。count())。toBeGreaterThan(1)' – ProGM

4

雖然接受的答案工作,現在可以做了很多更容易。 你可以這樣做:

expect(element.all(by.repeater('topic in topics')).count()).toBeGreaterThan(1);