单元测试 SAF file/directory 操作

Unit testing SAF file/directory operations

我正在尝试为 Android 代码实施单元测试,该代码利用 DocumentFile 实例进行 file/directory 操作。通常可以通过使用 ACTION_OPEN_DOCUMENT_TREE 选择一个位置来启动这些测试,但我无法获得 DocumentFile 的实例作为此类单元测试的一部分(无需用户交互)。

如果我能够将应用程序私有存储中的位置转换为 DocumentFile,但将目录的 file:// URI 转换为 [=11=,那么对于我的用例来说就足够了] 似乎不可能。

DocumentFile.fromFile() 的文档不太清楚,但它适用于文件和目录。与 Uri 值相反——你需要调用 fromSingleUri()fromTreeUri() 来区分文档和树——fromFile() 可以自己解决。