2014-08-27 83 views
1

我知道如何load templates in my karma tests using the ng-html2js preprocessor。然而,在我們的項目,我們有一個templates.js文件已經看起來像這樣:

angular.module("myApp").run(
    ["$templateCache", function($templateCache) { 
     $templateCache.put(
      "app/directive-template.html", 
      "<span>Some fancy template.</span>"); 
    ... 
}); 

它與gulp-angular-templatecache插件生成。這對於生產非常有用,但測試失敗。該文件包含在karma.conf.js中並正確加載,但運行功能僅在執行之後執行

如何讓業力等待運行階段,以便在執行測試之前加載模板?

回答

1

如果你beforeEach您對myApp模塊,那麼你的模板將被載入

我用一口NG-hmtl2js創建我template.js文件 和條目看起來是這樣的:

//app template 
gulp.task('template_app', function() { 
    return gulp.src('./app/**/*.tpl.html') 
     .pipe(ngHtml2Js({ 
      moduleName: "template.app" 
     })) 
     .pipe(concat('app.template.js')) 
     .pipe(gulp.dest('./app')); 
}); 

然後在我的測試我做的:

beforeEach(module('template.app'));

看得出來幫我@https://stackoverflow.com/a/28832167/1843436答案