使用Mockito和PowerMockito模拟文件



我正在为一个方法编写一个JUnit测试用例,该方法使用FileWriter创建一个文件,但该文件物理上不存在。我使用PowerMockito来模拟File对象,而不创建真正的文件。我的测试通过了,但它仍然在项目的上下文根目录中创建了一个名为Mock for file,hashCode的文件。有没有办法避免创建这个文件?还有一些类似的问题,但不太清楚为什么会发生这种情况。因此,在调试时,我发现当代码到达new FileWriter时,文件被创建。

谢谢,

JUnit测试:

@Test
public void testCreateCSVFile() throws Exception {
    File mockFile = Mockito.mock(File.class);
    PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(mockFile);
    rest of the test...
}

待测方法:

public void createCSVFile(List<IUiIntegrationDto> intgList, String fileName) throws Exception { 
     FileWriter fileWriter = new FileWriter(fileName);
     rest of the code...
}

您嘲弄了错误的字段。您需要模拟FileWriter -这是执行实际文件写入的

相关内容

  • 没有找到相关文章

最新更新