我仍在学习junit,我想知道如何为这个问题编写一个junit测试用例。我也在使用Emma插件来运行覆盖范围。将值设置为(字符串)路径和名称后该怎么办?在@Test中
public static void createReport(final String path, final String name) throws IOException {
File outDir = new File("Out");
if (!outDir.exists()) {
if (!outDir.mkdir()) {
}
}
}
设置参数值后,还需要使用assertEquals吗?
最佳答案
相反,如果您使用outDir.mkdirs()
(如果不存在则创建文件夹),那么Emma将不会抱怨该行未包含在测试中。
如果您想非常彻底,则测试代码的方法是在故意缺少目录的情况下运行它并检查其是否已创建。作为测试的一部分,删除输出文件夹:
File outDir = new File("Out")
/* You will probably need something more complicated than
* this (to delete the directory's contents first). I'd
* suggest using FileUtils.deleteDirectory(dir) from
* Apache Commons-IO.
*/
outDir.delete();
// Prove that it's not there
assertFalse(outDir.exists());
createReport(...);
// Prove that it has been created
assertTrue(outDir.exists());
或将报告写入一个临时文件夹(如果您可以使用该选项)。
关于java - Junit文件测试用例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19679228/