4

Karma と Mocha を使用して単体テストを構築しています。ディレクティブをテストし、html2js を使用します (html を $templateCache にキャッシュされた文字列に変換します)。興味深いことに、私のテストで $rootScope.$new() を使用すると、テンプレート html がディレクティブに入りません。コードは次のとおりです。

it('should show a thumb name', function() {
  inject(function($compile, $rootScope,$controller) {

  var scope = $rootScope;//.$new() ($new not working. Why?)
  var linkFn = $compile('<thumb></thumb>');
  var element = linkFn(scope);
  scope.$digest(); // <== needed so that $templateCache will bring the html 
                     //     (that html2js put in it)     
  console.log(element.html());// correctly returns thumb's directive templateUrl content
}));

...

ただし、scope = $rootScope.$new() を使用すると、element.html() は空の文字列を返します。

何か案は?

どうもありがとう

4

1 に答える 1