Angularjs 因果报应找不到相对URL

Angularjs 因果报应找不到相对URL,angularjs,jasmine,karma-runner,karma-jasmine,Angularjs,Jasmine,Karma Runner,Karma Jasmine,我试图在测试中加入一个iframe元素,但不知道如何打开位于磁盘某处的文档,而不是远程网站。所以Karma正在启动它的服务器,并且没有看到src属性中的路径,因为我猜它有不同的文档根 element = angular.element('<iframe src="fixtures/myhtmlfile.html" ></iframe>'); $('body').append(element); 有没有办法告诉业力‘在这里寻找相对路径’?所谓相对,是指测试所

我试图在测试中加入一个iframe元素,但不知道如何打开位于磁盘某处的文档,而不是远程网站。所以Karma正在启动它的服务器,并且没有看到src属性中的路径,因为我猜它有不同的文档根

    element = angular.element('<iframe src="fixtures/myhtmlfile.html" ></iframe>');
   $('body').append(element);
有没有办法告诉业力‘在这里寻找相对路径’?所谓相对,是指测试所在的实际目录的相对位置。

您需要在karma.conf中使用。参见回购协议的用法示例。基本上,它将预处理您的html文件,将它们转换为js文件,然后karma将提供服务

此预处理器将HTML文件转换为JS字符串并生成角度模块。加载这些模块时,会将这些HTML文件放入$templateCache中,因此Angular不会尝试从服务器获取它们


这有点让人困惑,我不确定如何在iframe的src属性中引用已处理的文件。很难判断您要测试的是什么。不过,我认为,您可以将src属性的值保留为html文件的路径,但随后预处理的html到js将从模板缓存中提供。我想我现在明白了,我会尝试一下。实际上,我只想加载一个iframe元素,然后测试当iframe的某个子元素触发一个click事件时会发生什么。