问题标签 [jimfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
872 浏览

java - 测试文件系统交互:设置文件权限

我偶然发现了Jimfs,并想用它来测试文件系统交互的方法。例如,我写了一个很长的方法来计算,如果写入文件列表可以成功:

我现在想做的是编写这样的测试:

我可以使用 Jimfs 来执行此操作吗?如果不是,您将如何测试此方法?

0 投票
1 回答
1823 浏览

java - 设置 DefaultFileSystemProvider 进行测试

如何设置DefaultFileSystemProvider使用,例如,JimfsFileSystemProvider?javadoc forFileSystems.getDefault()说我需要设置一个系统属性,但是当我尝试这样做时,我得到一个NoSuchMethodException

堆栈跟踪:

我是否需要设置其他东西或者这是 jimfs 中的错误?

0 投票
4 回答
8277 浏览

java - 使用 JIMFS 创建虚拟文件系统

我想使用 Google 的 JIMFS 来创建一个用于测试目的的虚拟文件系统。不过,我很难开始。

我看了这个教程:http ://www.hascode.com/2015/03/creating-in-memory-file-systems-with-googles-jimfs/

但是,当我创建文件系统时,它实际上是在现有文件系统中创建的,即我不能这样做:

因为我被拒绝访问。

我错过了什么吗?

目前,我的代码如下所示:

测试类:

某处的Java类:

但是,我创建了一个单独的类来测试 JIMFS,这里目录的创建没有失败,但是我不能像这样创建一个新文件:

我究竟做错了什么?

0 投票
1 回答
418 浏览

unit-testing - 如何在 jimfs 中强制 IOException

我有文件相关代码来测试我想在哪里测试我无法读取的现有文件的错误处理。

我正在使用jimfs将测试与真实文件系统隔离开来。

那么如何在 jimfs 上创建一个不可读的文件呢?

我已经尝试Files.setAttribute为所需路径上的路径分配 posix 权限和不同的用户,在尝试读取或写入路径时,这两者似乎都被忽略了。

0 投票
1 回答
448 浏览

java - JimFS:/work 目录的目的是什么

我开始使用 google jimfs 并执行 ls 我在 FS 的根目录中找到了工作目录。这个文件夹的目的是什么?

0 投票
1 回答
3212 浏览

java - JimFS:如何从路径中获取文件

我开始使用 google jimfs,但我不明白如何从路径获取文件。在源代码中,我看到 Path.toFile 抛出 UnsupportedOperationException。但是我怎么能在没有文件的情况下使用它呢?例如,如果我的应用程序需要知道某个路径是文件夹还是文件。

0 投票
1 回答
1349 浏览

java - 每次测试后我都必须清理我的 Jimfs 文件系统吗?

我在我的测试中使用 Jimfs,如下所示:

现在,我们知道 Jimfs 在内存中。我真的需要清理我创建的路径还是可以删除该@After方法(及其相关机制)?

我清楚地认为这是创建 jimfs 的基本需求,但是……我正在调整现有代码,我突然对此感到困惑。

0 投票
2 回答
1644 浏览

java - 在 Java 中使用 jimfs 设置文件的最后修改时间戳

如何使用 jimfs 设置文件的最后修改日期?我有 像这样:

创建完这些东西后,我创建了一个目录迭代器,例如:

之后,我遍历文件并读取最后修改的文件,然后返回:

问题是文件“test1.pdf”和“test2.pdf”的 lastModified 都为“0”,所以我实际上无法真正测试行为,因为该方法总是返回目录中的第一个文件。我试着做:

但方法返回false

UDPATE

我刚刚看到 File#getLastModified() 使用默认文件系统。这意味着将使用默认的本地文件系统来读取时间戳。这意味着我无法使用 Jimfs 创建临时文件,读取最后修改的内容,然后断言这些文件的路径。一个将 jimfs:// 作为 uri 方案,另一个将具有操作系统相关方案。

0 投票
1 回答
168 浏览

java - 锡兰目录的 Jimfs 路径

我正在尝试在 Jimfs 文件系统中创建一个目录(使用锡兰的文件模块),但是在从锡兰访问文件系统时,我遇到了 Jimfs 提供程序未安装的问题。

这是我的测试程序:

运行时,打印以下堆栈跟踪:

关于如何安装该提供程序的任何想法?

我在 Linux 上运行 Ceylon 1.2.0,使用 JimFs 1.0(也测试了 1.1-rc1)并以“预期”方式(纯 java nio)使用 Jimfs 工作正常。

0 投票
1 回答
280 浏览

java - 用于内存文件系统生产的 JIMFS

我有一个特定的用例,将普通文件系统抽象为内存中的文件系统对我很有帮助,因为出于性能原因我们经常在两者之间切换。JIMFS 可以在生产环境中使用还是纯粹用于测试?