为什么Expo文件系统在Jest中不起作用? [英] Why doesn't expo-file-system work in Jest?
本文介绍了为什么Expo文件系统在Jest中不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为我的小项目编写一些测试.我们使用了expo-file-system来访问IOS内部存储.这是我对保存功能的测试.
I am trying to write some tests for my little project. We used expo-file-system to allow us access IOS internal storage. And here is my test for our saving function.
import SaveData from "../app/resources/SaveData/SaveData"
import * as FileSystem from 'expo-file-system';
var promiseHolder = 0;
describe('\nsaveNewFile() is tested.\n', ()=>{
it("A file is going to be created.",async ()=>{
await FileSystem.writeAsStringAsync("sometext","test.txt");
promiseHolder = await FileSystem.getInfoAsync("test.txt");
testHolder = await FileSystem.readAsStringAsync("test.txt");
console.log(promiseHolder)
console.log(testHolder)
});
});
这是输出.命令行输出
似乎FileSystem.documentDirectory在测试中无法正常工作,但我们的应用程序运行良好.我该怎么办?
It looks like FileSystem.documentDirectory does not work in test, but our app works well. What should I do?
推荐答案
您没有声明gan变量,例如promiseHolder.
You didn't declare gan variable like promiseHolder.
import SaveData from "../app/resources/SaveData/SaveData";
import * as FileSystem from 'expo-file-system';
var promiseHolder = 0;
var testHolder=0;
describe('\nsaveNewFile() is tested.\n', ()=>{
it("A file is going to be created.",async ()=>{
let fileUri = FileSystem.documentDirectory + "text.txt";
await FileSystem.writeAsStringAsync(flileUri, "cao");
promiseHolder = await
FileSystem.getInfoAsync(fileUri);
testHolder = await FileSystem.readAsStringAsync(fileUri);
console.log(promiseHolder)
console.log(testHolder)
});
});
更新:expo-jest为诸如FileSystem之类的导入制作模型,并且在测试中收到的结果将用于预定义的模型预设.
Updates: expo-jest makes mockups for imports like FileSystem and results that were received in test intend to predefined mockup presets.
这篇关于为什么Expo文件系统在Jest中不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文