是否需要模拟文件系统?

时间:2015-03-26 10:26:32

标签: java unit-testing mocking

我已经编写了一些用于操作文件的业务逻辑,我需要编写一些集成测试来检查一切是否正常。因为我的时间很短,所以我只编写了@BeforeClass@AfterClass方法来创建文件并在测试后删除它们(因为部分功能是删除文件所以我无法使用流)。现在我有更多的时间,所以我想知道我的解决方案是否因为没有嘲笑而那么糟糕?如果是这样的话,我是否应该使用JUnit的java.nio.file.FileSystem或者TemporaryFolder的某些实现来进行适当的测试?

提前致谢

1 个答案:

答案 0 :(得分:1)

这取决于文件创建和删除是否是需要测试的逻辑的一部分,或者仅仅是功能的副作用。

  1. 如果它是功能的一部分,它应该被嘲笑,Java 7的NIO和java.nio.file.FileSystem是可行的方式
  2. 如果它只是一个副作用,那么TemporaryFolder或类似功能就可以了