我有一个反应应用程序,我正在测试与测试咖啡馆(与gherkin测试咖啡馆)。我正在使用垃圾模拟API响应,这是很好的工作。但是,问题是,当对运行MSW的本地版本运行testcafe测试时,我会收到以下消息。
MSW Cannot intercept requests on this page because it's outside of the worker's scope ("http://localhost:1337"). If you wish to mock API requests on this page, you must resolve this scope issue.
- (Recommended) Register the worker at the root level ("/") of your application.
- Set the "Service-Worker-Allowed" response header to allow out-of-scope workers.据我所知,MSW默认使用范围"/“,如果您不设置范围,而且我已经尝试显式设置它,并且似乎没有什么区别。我也尝试过设置标题,但我真的不知道我的意思是什么。我试过"/“
有人知道我该怎么做吗?
发布于 2022-07-27 18:17:31
此错误意味着该工作人员未在根处注册。请注意,服务工作者默认从服务的位置到目录的范围,并且该目录实际上成为它的/。这并不意味着它是您的应用程序的根。
考虑到这一点:
public/
foo/
mockServiceWorker.js工作人员的/作用域将是/foo (考虑到您的站点是从/public提供的)。这可能是你的案子的问题。
要解决这一问题:
/public文件夹。serviceWorker.scope,以便工作人员知道在哪个路径上提供服务(这可能还需要将辅助脚本代理到Test咖啡馆的位置,作为测试设置的一部分)。如果没有任何帮助,请向我们提供您尝试过的事情的列表,以及您所收到的结果。
https://stackoverflow.com/questions/72715626
复制相似问题