模拟文件对象Mockito或Powermock?

时间:2016-05-19 14:10:40

标签: java mockito powermock

如何特别嘲笑以下listfiles()方法?

File folder = new File(folderPath);
for (File fileEntry : folder.listFiles()) {
    try {
        if (StringUtils.isBlank(fileEntry.toString())) {
            throw new ConfigurationException("Sfile must be set");
        }

        String json = resourceReader.readResource(fileEntry.toString());
        try {
            config.add(parser.parseJson(json));
        } catch (Exception e) {
            LOG.error("Error in parsing json");
        }
    } catch (Exception e) {
        throw new ServiceException("Could not parse sfrom the file: " +
                fileEntry.getName(), e);
    }
}

1 个答案:

答案 0 :(得分:0)

假设您在测试目录中有一些文件或添加一些.txt或任何文件。如果您使用的是Mockito,请在测试类中编写这些语句。您需要在atest类中添加 import static org.mockito.Mockito.when;

File f = new File("c:/test");
File[] files = f.listFiles();
when(folder.listFiles()).thenReturn(files);

通过这个你告诉测试方法进入实际类的for循环,你可能需要写更多(thisHappens).thenReturn(givemethisresult);语句。