在Angular中运行Jasmine和Karma时出现CORS错误

问题描述 投票:1回答:2

我正在运行specs并在浏览器窗口中注意到以下错误

zone.js:2990 Access to XMLHttpRequest at 'ng:///DynamicTestModule/NewPracticeQuestionComponent_Host.ngfactory.js' from origin 'http://localhost:9876' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

我想在我的应用程序的某个地方,已发出一些消息导致CORS问题。我假设Karma使用的web服务器阻止了请求。

我可以配置Karma来禁用CORS政策吗?

cors karma-jasmine
2个回答
1
投票

使用--sourcemaps=false运行测试,您将收到正确的错误消息。

这是一个问题:https://github.com/angular/angular-cli/issues/7296

另外,速记:

ng test -sm=false

从角度6开始,命令是:

ng test --source-map=false

0
投票

我不认为这是一个CORS问题,除非您实际上跨域调用某些东西。

我有一个类似的问题,组件在代码中设置日期返回类似的错误。您可能没有在测试中设置一些必需的值,或者您没有在正确的位置调用fixture.detectChanges()。

在运行npm test(或ng test)时尝试将--source-map标志设置为false,实际上可能会得到更有意义的错误。

除了错误消息之外发布受影响的代码通常是个好主意。

干杯,阿尔贝托

© www.soinside.com 2019 - 2024. All rights reserved.