Ich richte meine Karma-Konfigurationsdatei, aber ich verstehe einige Optionen nicht vollständig, da ich keinen Erfolg habe, Vorlagen zu testen, die den ngHtml2JsPreprocessor durchlaufen haben undEinrichten von ng-htmljs-Präprozessor Karma Preprocessor
waren$templateCached
Innerhalb des ngHtml2JsPreprocessors kann ich ein paar Schlüsselwerteigenschaften hinzufügen, die Pfade beinhalten.
Ich habe die Vorlagen für jetzt auskommentiert, um sicherzustellen, dass ich Zugriff auf jede Datei als Modul bekomme. Ich lade die Module ohne Fehler. Ich kann die templateCached-Version in meinen Entwicklungswerkzeugen finden.
beforeEach(module('template'));
Mein Templates-Ordner befindet sich außerhalb des Basispfads, den ich erstellt habe.
basePath: 'Scripts/',
Ich habe es referenziert innerhalb der Preprozessoren Objekt
preprocessors: {
'../Templates/**/*.html' : ['ng-html2js']
},
wieder alle meine Vorlagen sind jetzt js Dateien und zwischengespeichert.
ich in meiner package.json gespeichert ich die Dateien als
save-dev
"karma-chrome-launcher": "^0.2.2",
"karma-jasmine": "^0.2.2",
"karma-ng-html2js-preprocessor": "^0.2.1",
ich in den Plugins meine Installationen verwiesen.
plugins: [
'karma-chrome-launcher',
'karma-jasmine',
'karma-sinon',
'karma-ng-html2js-preprocessor'
],
Ich habe alle meine Dateien
files: [
//jquery libaries
// angular libraries
// Scripts files
// source app.js
// tests folder and files
]
Meine Tests geladen werden, weg von Karma loslaufen
Allerdings ist meine Richtlinie nur eine leere Zeichenfolge
element.html()
kehrt ""
Ich habe gesetzt Barde inject up
bard.inject(
"$compile",
"$controller",
"$rootScope",
'$templateCache',
"haConfig",
"$q"
);
ist die Innenseite meiner before
bard.mockService(haConfig, {
getTemplateUrl: '/tst!'
});
//bard.mockService(haConfig, {});
console.log('ha config2', haConfig.getTemplateUrl());
var html = angular.element("<div explore-hero></div>");
console.log('htl',haConfig.getTemplateUrl());
scope = $rootScope.$new();
//templateCache
element = $compile(html)(scope);
//console.log(haConfig.getTemplateUrl(html));
scope.$digest(element);
console.log('missing text',haConfig.getTemplateUrl(html));
controller = element.scope();
console.log("element", element);
Ich habe keine Ahnung, warum ich wieder einen leeren String bin immer. Ich erstelle die HTML-Datei, aber nichts ist drin.
Alle ich kann mich fragen, ob ich die die templatesCached Dateien in einem Ordner auf meinem Entwickler-Tools anzeigen lassen sollte? Auch ob die Dateien innerhalb der Dateien Array innerhalb verwiesen werden karma.conf.js
Im Moment habe ich die HTML-Dateien referenziert? Ich habe versucht, die js-Dateien, aber das schien nichts zu tun
Haben Sie die HTML-Dateien in die 'Dateien: []' eingefügt? Versuchen Sie auch, das Element in einem anderen 'beforeEach'-Block zu kompilieren. – Jagrut
tat ich. Ich habe endlich behoben, dass dieses Problem ziemlich einfach war – Winnemucca