【发布时间】:2011-05-24 14:45:15
【问题描述】:
我正在使用第 3 方库,它基本上创建了一个输出目录,其中包含不同类型的文件和子目录。我希望能够编写单元测试来确认输出是否正确。
我希望能够将库与 RAM 磁盘一起使用,这样库所做的任何事情都不会以任何方式触及实际的磁盘板。这样做的目的是使测试运行和清理速度非常快(丢弃 RAM 磁盘?)。
我可以使用的两个最突出的选项是Commons VFS 和JSR 203。前者对我没有用,因为我希望使用 java.io.* API 而不是 Commons VFS 类透明地工作。后者没有削减它,因为我必须使用 JDK 6(它应该是 JDK 7 的一部分)而且我不知道它是否可以与 java.io.* 无缝工作(我不会赌注)。
也有 other 解决方案,但我不能使用它们,原因与我不能使用 Commons VFS 相同。由于相关库的复杂性,模拟是不可能的。
在我的 linux 机器上,我可以轻松地创建一个 RAM 驱动器并使用 java.io.* API,就像处理磁盘上的文件一样。问题是,我希望它是跨平台的,更具体地说,是让磁盘设置成为测试过程的一部分,而不是外部的。
那么,有没有一种方法可以在 Java 中注册一个可用于标准 java.io.* API 的 RAM 驱动器?
【问题讨论】:
-
为什么不看看 Java 之外的东西。在操作系统级别创建一个 RAM 磁盘(Windows 和 Linux 有工具),然后将您的库作为路径。
-
我已经解释了原因:理想情况下,我希望该过程独立于平台。此外,我更喜欢使用 Java 编写任何必要的代码,而不是编写外部脚本来在一个或另一个环境中设置和处置 RAM 磁盘。
-
您找到解决方案了吗?对于 Java 7 或 Java 8。
-
@Jus12 抱歉,目前我还没有听说过解决方案。
标签: java unit-testing ramdisk