0

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

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

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

4

3 回答 3

3

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

没有“最好的方法”。这完全取决于文件应该包含的内容以及您需要测试的内容。

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

  • File参数是非空的,
  • 由 编码的文件路径File具有给定值,
  • 对应的文件存在,
  • 相应的文件具有给定的长度或行数,
  • 相应的文件包含给定的字符串(或字符串)或模式(模式),
  • 文件内容与预期输出的文件完全匹配,
  • 文件内容解析为与另一个文件相同的数据结构,或
  • 文件内容解析为一些其他属性的数据结构。
于 2012-06-29T10:43:57.190 回答
2

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

是一个例子。

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

但这一切都归结为您真正想做的事情,而您的问题并没有真正提供很多线索...

于 2012-06-29T10:44:51.027 回答
1

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

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

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

  1. 文件确实存在,可以读取
  2. 位置 3 确实包含预期的符号
于 2012-06-29T10:34:43.647 回答