出于测试目的强制服务工作者缓存失败

Force a service worker caching to fail for testing purposes

我正在与我的 QA 团队合作,尝试测试我们添加到 Service Worker 中的一些新错误处理,当它尝试缓存我们的一些 JS 包时,我正在寻找一种方法来导致以下任一情况:失败的缓存方法(cache.addcache.opencache.match 等)

我们希望能够在不更改任何代码的情况下对此进行测试,因此,理想情况下,我很想找到一种方法来阻止缓存请求,就像您可以阻止 HTTP 请求(或类似的东西)一样.

感谢任何帮助!

我想通了(至少在 Chrome)!

在左上角的 Chrome 控制台中,您可以 select 控制台所在的上下文 运行 并且其中一个选项是服务工作者。

进入后,您可以根据需要重写缓存函数。为了我的目的,我只是做了 self.caches.open = () => Promise.reject("Error").