2017-11-27 4 views
0

Ich versuche, Karma-Test für eine Funktion zu schreiben, die eine Kendo-Vorlage Html verwendet.Karma Jasmine Unit Test für Kendo Vorlage

Der Code lautet:

$scope.columns = [{ 
    field: gridColumns.STATUS, 
    title: gridColumnsTitle.STATUS, 
    template: $scope.getKendoTemplate($("#statusTemplate").html()), 
    width: 80 
}]; 

Das Problem mit HTML-Vorlage ist $("#statusTemplate").html(), die nicht definiert ist. Und ich erhalte eine Fehlermeldung wie folgt aus:

TypeError: Cannot read property 'replace' of undefined 
      at Object.compile (app/js/kendo.all.min.js:25:7431) 
      at new proxy (wwwroot/lib/jquery/dist/jquery.js:497:14) 
      at ChildScope.getKendoTemplate (app/components/test/demo/demo.controller.es5.js:9:22664) 

Und der Code für #statusTemplate geht so in Html:

<script type="text/x-kendo-template" id="statusTemplate"> 
     <span data-ng-show="dataItem.active">On</span> 
     <span data-ng-show="!dataItem.active">Off</span> 
</script> 

Gibt es eine Weise, die ich diese Einheit Test nicht bestanden bekommen konnte. Ohne große Änderungen am eigentlichen Code.

Antwort

0

ich auf getKendoTemplate Spionage am Ende,

spyOn($scope,"getKendoTemplate").and.returnValue(""); 
Verwandte Themen