在花了几个小时试图弄清楚到底发生了什么之后,我意识到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)
所以,我需要开玩笑可以与文件?
1条答案
按热度按时间klsxnrf11#
最后,我找到了一个变通办法,感谢@EstusFlask的评论。
我模拟了
File.prototype.text
返回文件对象本身。然后我可以用FileReader
读取它的内容。