我知道如何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 中并正确加载,但运行函数仅在执行测试后执行。
如何让业力等待运行阶段,以便在执行测试之前加载模板?
答案 0 :(得分:1)
如果您在使用myApp模块之前,则会加载您的模板
我使用gulp 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'));