我有一个带有模板的角度指令,其执行的操作如下:
<img ng-src="{{url}}" />
在我的测试中,我正在设置范围,以便url指向一个虚构的图像...... Karma然后说:
WARN [web-server]: 404: /fake.png
所以我进入我的业力配置文件并添加到文件数组:
{pattern: 'spec/javascripts/fixtures/**/*.png', watched: false, included: false, served: true},
然后添加代理:
proxies: {
'/fake.png': 'spec/javascripts/fixtures/assets/fake.png'
}
...
现在我明白了:
WARN [proxy]: failed to proxy spec/javascripts/fixtures/assets/fake.png ([object Object])
那条路是正确的,那里有一个名为fake.png的真实图像。
我的配置中的basePath也正确设置为我项目的根目录...
答案 0 :(得分:23)
我通过随机试验和错误找到了它。显然你必须在路径中使用 magic 一词“base”。
proxies: {
'/fake.png': '/base/spec/javascripts/fixtures/assets/fake.png'
}
现在它有效,但说实话,前面的“/ base”似乎是胡说八道。
答案 1 :(得分:2)
我想评论,但我没有足够的代表,因为我是一个新手。 /base
是来自karma配置的基本路径。您可以在
module.exports = function () {
return {
...
basePath: '../',
...
}
}
当您这样做时,基础部分会自动添加到模式中。所以没有真正的废话,但配置不完整。 有一个伟大的:)
答案 2 :(得分:2)
如果您不希望在测试中显示实际图像就足够了:
proxies: {
'/fake.png': ''
}