Javascript AngularJs测试。在哪里放置模板
我目前正在测试angularjs指令。此指令有一个templateUrl。我想对视图进行测试,以确保其初始化正确,即按钮数量正确,某些元素隐藏 我遇到的问题是,当我将html文件插入模板缓存时,仍然会得到:Javascript AngularJs测试。在哪里放置模板,javascript,angularjs,unit-testing,karma-runner,angular-template,Javascript,Angularjs,Unit Testing,Karma Runner,Angular Template,我目前正在测试angularjs指令。此指令有一个templateUrl。我想对视图进行测试,以确保其初始化正确,即按钮数量正确,某些元素隐藏 我遇到的问题是,当我将html文件插入模板缓存时,仍然会得到: "message": "Unexpected request: GET partials/stuff/stuff-leader.html 我假设当我使用templateCache时,我将不再需要使用: $httpBackend.whenGET("partials/stuff/stuff-
"message": "Unexpected request: GET partials/stuff/stuff-leader.html
我假设当我使用templateCache时,我将不再需要使用:
$httpBackend.whenGET("partials/stuff/stuff-leader.html").respond([{
userId: 000
}]);
但事实似乎并非如此。我想知道我是否正确插入了模板,以下是我的操作方法:
template = $templateCache.get('/full/root/disk/path/to/file/stuff/stuff-leader.html');
$templateCache.put('/myApp/templates/stuff-leader.html',template);
这是正确的,还是我应该把它放在其他地方?您正在使用
$templateCache.get执行请求。相反,你应该:
beforeEach(inject(function ($templateCache) { $templateCache.put('partials/stuff/stuff-leader.html', '< div >...TemplateCode....< /div >'); }));
beforeach(inject(函数($templateCache){$templateCache.put('partials/stuff/stuff leader.html',“…TemplateCode…”);});
您的普通模板将在/partials/stuff/stuff leader.html
中查找,因此这是您需要注入模板缓存的内容,而不是/myApp/templates/stuff leader.html
您是否应该将其放置在与所查找的相同的相对路径中(即使用partials/stuff
而不是templates/
),谢谢。那很有魅力。如果你想提出答案,我会接受的。