Raj*_*ajV 9 karma-runner angular
我的应用程序调用后端Web服务.在开发期间,我为Angular CLI服务器配置反向代理,一切正常.
ng serve --proxy-config proxy.config.json
Run Code Online (Sandbox Code Playgroud)
我需要在单元测试期间为Karma做同样的事情.我加上这个karma.conf.js.
proxies: {
"/books":"http://localhost:3000/",
"/books/*":"http://localhost:3000/",
}
Run Code Online (Sandbox Code Playgroud)
这些都不起作用.我的电话总是得到404.但是,如果我配置了一个完整的URL,它就可以了.
proxies: {
"/books/167":"http://localhost:3000/books/167"
}
Run Code Online (Sandbox Code Playgroud)
如何使用通配符正确配置反向代理?
您不应该在单元测试中使用后端。顾名思义,它是关于单元测试的。您测试的单元(例如服务或组件)的依赖关系应该被模拟。这样,真正的http服务将不会被调用,只会调用具有相同功能的模拟(例如Observable),因此只会测试该单元,并且测试不会因为依赖关系而失败。
仅在 e2e 测试中需要代理,因为它测试整个应用程序。测试从脚本e2e继承选项。--proxy-configserve
例子:
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |