13

このテストを実行すると、エラーが発生し続けますExpected undefined to be true.

it('should have the right classes', function() {
   // this doesnt work
   expect(element.find('.exampleClass').hasClass('ng-hide')).toBe(true);

   // but this works
   expect(element.find('span').hasClass('ng-hide')).toBe(true);
});

jqlite を使用してidandで要素を見つけるにはどうすればよいclassですか?

4

1 に答える 1

13

これは、angular-jqlite (jquery 自体と比較すると非常に軽量なライブラリ)findがタグ名による検索のみに制限されているためです。で使用element.querySelector(All)してラップすることができますangular.element。すなわち

  var elm = element[0];
  expect(angular.element(elm.querySelector('.exampleClass')).hasClass('ng-hide')).toBe(true);

  //Or even
  expect(elm.querySelector('.exampleClass.ng-hide')).toBeDefined();

ドキュメントを見る

find() - タグ名による検索に限定

于 2015-07-07T02:22:11.690 に答える