我在服务器myserver.com:4567/api
上运行了我的api,我希望我的角应用程序的每个请求都与/ api / *匹配。我已经使用proxy-conf.json
进行了设置,它非常适合投放。但是我想用业力测试我的应用程序,它似乎不接受代理的通配符。
如何在不为每个可能的终点提供业力的情况下解决这个问题
我想要这个:
proxies: {
"/api/*": "http://mybackend.com:4567"
}
而不是:
proxies: {
"/api/1": "http://mybackend.com:4567/api/1"
"/api/2": "http://mybackend.com:4567/api/2"
"/api/3": "http://mybackend.com:4567/api/3"
"/api/4": "http://mybackend.com:4567/api/4"
}
答案 0 :(得分:2)
正如您现在已经想到的那样,Karma不会为代理条目提供通配符。但是,当我们看一下如何完成代理时,事实证明你可以使用每个端点的文件和一个代理条目伪造你的端点:
proxies: {
"/api": "/base/fake-api"
}
然后你有一个包含内容的fake-api
文件夹,如下所示:
我有子文件夹和文件,其中包含我想从api中伪造的结果。我在一个项目中一直在做这件事来克服同样的问题。您还需要一个类似的文件条目:
files:[
...
{ pattern: "fake-api/**/*", included: false, served: true, watched: false },
...
],
(您可能需要调整路径以适合您所需的布局;例如,我的specs文件夹下有 fake-api ,所以 fake-api 上面的路径部分在我的项目中实际上是 specs / fake-api ,但是你得到了图片。)