如何修复造成“业力警告[网络服务器]:404”的图像?

时间:2015-05-14 18:39:24

标签: karma-runner karma-jasmine

我有一个带有模板的角度指令,其执行的操作如下:

<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也正确设置为我项目的根目录...

3 个答案:

答案 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': ''
}