在使用Jest的webpack项目进行测试运行期间,是否可以通过http访问测试资产(例如pdf)?
为了提供上下文,我正在为pdf.js api写一个测试,通常我会提供一个http url。但是,当我通过Jest运行测试时,我提供的文件在本地文件系统中。与相对路径一起使用“文件”协议将是CORs信息。如果我进行手动测试,则可以将其作为wepback构建的一部分静态地使用,但是我正在运行Jest测试,因此不适用。
补充说明:我通过将以base64表示的blob传递给pdf.js getDocument来绕过了http url问题。该解决方案效果很好,因为字符串非常简洁。但是,我仍然想弄清楚如何通过Jest访问http资源,以防再次遇到类似情况。
答案 0 :(得分:1)
由于它是单元测试,因此您不应执行任何http请求,而应使用moxios
之类的方法来模拟它们。
我建议您从文件系统中导入预定义的示例文件,并使模拟的http返回其内容。