如何检查jUnit中的文件?

时间:2012-06-29 10:26:55

标签: java testing junit

我需要用JUnit来介绍一些测试。我的方法返回java.io.File。我需要检查哪些属性?

  • 检查文件大小?
  • 检查文件名?
  • 检查......?

如何为使用文件操作的方法编写JUnit测试?有没有框架?

3 个答案:

答案 0 :(得分:3)

  

Method返回java.io.File。检查它的最佳方法是什么?

没有“最佳方式”。它完全取决于文件应包含的内容以及您需要测试的内容。

在不同情况下,我可能会测试:

  • File参数为非null,
  • File编码的文件路径具有给定值
  • 相应的文件存在,
  • 相应的文件已给出长度或行数,
  • 相应的文件包含给定的字符串(或字符串)或模式(模式),
  • 文件内容与预期输出文件
  • 完全匹配
  • 文件内容解析为与另一个文件相同的数据结构,或
  • 文件内容解析为某些其他属性的数据结构。

答案 1 :(得分:2)

如果您想创建一些临时文件来运行测试,那么您应该使用TemporaryFolder尝试JUnit规则。

Here就是一个例子。

这是一种使用必要文件准备测试的方法。

但这一切都归结为你真正想要做的事情,你的问题并没有给出很多线索......

答案 2 :(得分:1)

每项测试必须基于要求。例如,可以声称该方法返回可以安全创建的不存在文件的名称 - 单元测试必须检查确实没有这样的文件:

assertTrue(!file.isDirectory() && !file.canRead())

当需求告诉您返回的文件是包含某些属性的文件时,您必须检查确切声明的属性。例如,根据位置3的要求,您发现符号'@'。所以你的测试应该检查:

  1. 文件确实存在,可以阅读
  2. Poistion 3确实包含预期符号