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