dji*_*had 12 junit unit-testing file
我已经实现了两个void创建文件和读取文件的静态方法.我想测试方法,但我不知道如何测试使用文件的方法.最好的方法是什么?
我正在使用Java和JUnit.
Pét*_*rök 18
最好的方法是重构您的方法以使用输入/输出流而不是直接使用文件.这样,您可以在单元测试中轻松地将StringReaders/Writers传递给它们(前提是它们使用文本文件 - 如果不是,则需要适当类型的流).
如果您直接使用文件,您的单元测试会变得更加复杂,因为他们需要额外的设置/拆卸代码来创建和清理测试目录,以及每次测试中的读/写文件,这会减慢测试速度.此外,它还可以解决诸如无权在特定目录中写入等问题的可能性(例如,因为它是在另一个开发人员启动的测试运行中创建的),磁盘已满错误等.最好保持单元测试自我 - 尽可能多地包含.
您可以创建一个 test/resources 目录,其中包含专门用于测试的文件。这样做的缺点是您的代码需要能够传入路径,即使代码现在不是这样设计的,这也不应该成为太大的障碍。
所以在你的测试中你会有类似的东西
public void testUtilWrite() {
YourUtil.writeFile(path, data); //whatever you have
File shouldExist = new File(path);
assertTrue(file.exists());
// now read the file and assert the data in it is correct
}
Run Code Online (Sandbox Code Playgroud)
要记住的一件事是,如果您使用绝对路径,不同的开发人员可能有不同的资源路径,因此您可能需要使用配置文件......
| 归档时间: |
|
| 查看次数: |
12633 次 |
| 最近记录: |