AngularJs 测试。放置模板的位置
AngularJs testing. Where to put template
我目前正在测试 angularjs 指令。该指令有一个 templateUrl。我想测试视图以确保它被正确初始化,即正确的按钮数量,隐藏的某些元素。
我遇到的问题是,当我将 html 文件插入模板缓存时,我仍然得到:
"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 >'); }));
在 /partials/stuff/stuff-leader.html
查找您的普通模板,因此这是您需要注入模板缓存的内容,而不是 /myApp/templates/stuff-leader.html
。
我目前正在测试 angularjs 指令。该指令有一个 templateUrl。我想测试视图以确保它被正确初始化,即正确的按钮数量,隐藏的某些元素。
我遇到的问题是,当我将 html 文件插入模板缓存时,我仍然得到:
"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 >'); }));
在 /partials/stuff/stuff-leader.html
查找您的普通模板,因此这是您需要注入模板缓存的内容,而不是 /myApp/templates/stuff-leader.html
。