angularjs repeater 无法读取 column

张映 发表于 2014-02-24

分类目录: nodejs/vue/js/jquery

标签:, , , ,

用e2e端到端的测试时,发现用expect(repeater('.phones li', 'Phone List').column('phone.images'))没法得到值,写了一个方法来获取

1,json片断

  1. "images": [  
  2.     "img/phones/nexus-s.0.jpg",  
  3.     "img/phones/nexus-s.1.jpg",  
  4.     "img/phones/nexus-s.2.jpg",  
  5.     "img/phones/nexus-s.3.jpg"  
  6. ],  
  7. "name""Nexus S",  

2,repeater读取测试

  1. expect(repeater('.phones li''Phone List').column('phone.name')).  
  2.      toEqual(["Nexus S","Dell Venue"]);    //这样就可以的  
  3.   
  4. expect(repeater('.phone-thumbs img''Phone List').column('phone.images')).  
  5.      toEqual(["Nexus S","Dell Venue"]);    //这样就不可以了  

我测试了很多种方法,发现读取的都是[ ]。

3,用element结合query可以读取

  1. it('should load mock widgets into correct order, by seq'function () {  
  2.   var promise = element('.phone-thumbs img').query(function (elements, done) {  
  3.       var seq = [];  
  4.       elements.each(function () {  
  5.           seq.push(angular.element(this).attr('src'));  
  6.       });  
  7.       done(null, seq);  
  8.   });  
  9.   expect(promise).toEqual([  
  10.       "img/phones/nexus-s.0.jpg",  
  11.       "img/phones/nexus-s.1.jpg",  
  12.       "img/phones/nexus-s.2.jpg",  
  13.       "img/phones/nexus-s.3.jpg"  
  14.   ]);  
  15. });  


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1591.html