如何在jest中使用File.text()?

mnemlml8  于 2023-04-27  发布在  Jest
关注(0)|答案(1)|浏览(186)

在花了几个小时试图弄清楚到底发生了什么之后,我意识到jest在Files上有一些问题
我写了一个简单的测试,期望超过一个文件的内容:

describe(".file test", () => {
    test("jest can work whit files", async () => {
      const aContent = "a_content";      
      const file = new File([aContent], "aFile.txt");
      const fileContent = await file.text()
      expect(fileContent).toBe(aContent)
    })
 )

这段简单的代码,在浏览器中的真实的应用程序中执行时可以工作。然而,当我启动测试套件时,我只得到一个错误:
TypeError:file.text不是函数

30 |       const aContent = "a_content";
  31 |       const file = new File([aContent], "aFile.txt");
> 32 |       const fileContent = await file.text()
     |                                      ^
  33 |       expect(fileContent).toBe(aContent)

所以,我需要开玩笑可以与文件?

klsxnrf1

klsxnrf11#

最后,我找到了一个变通办法,感谢@EstusFlask的评论。
我模拟了File.prototype.text返回文件对象本身。然后我可以用FileReader读取它的内容。

相关问题