|
|
1
10
我将把测试目录的所有初始化都放到测试本身中。这种情况很简单:
|
|
|
2
3
从本质上讲,在单元测试时访问文件系统是一大禁忌。对于初学者来说,这些测试比系统内测试慢(ER),从而降低了以高频率运行测试的可能性(例如每次编译)。 如果使用适配器模式抽象出对文件系统的访问,效果会更好。我是.NET开发人员,因此我的示例将使用C,但我希望您能够足够简单地翻译它:
现在,和往常一样,您可以模拟文件系统,就像模拟任何其他类一样,提供返回的结果。记住-你是 不 测试Java的IO类,假设它们工作。你只是在测试你的课程(即 我的经理 ,在上面的示例中)。 将实际使用文件系统的测试留给集成/验收测试。 希望这有帮助, 阿萨夫。 |
|
|
3
2
我更喜欢抽象文件系统,这样我的单元测试就不需要访问真实的文件系统。当然,这个抽象层必须用真实的文件系统进行测试,但是这样可以减少对它的依赖。
至于在SVN中存储隐藏文件,我选择了Artemb。您应该创建在JUnit设置中测试所需的所有文件。大概,您应该更喜欢按测试方法设置(
|
|
|
4
0
Artemb的答案是正确的,您可以使用@before和@after为每个测试创建和删除结构。 下面是一些代码,我用来创建一个新目录,其中包含一些文件,它将在systems temp目录中创建目录,这很重要,因为根据运行测试的计算机,可能不允许您在其他地方创建文件或目录。(我必须编写这段代码,以允许在我们的Linux集成机器上执行我的测试…)
顺便说一句,你必须知道你在哪个平台上运行才能创建隐藏文件… |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 11 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 11 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 11 月前 |
|
pebble unit · 如何检查以前缀开头、以后缀结尾的属性(不是属性值) 11 月前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |