使用 Mockito 和 PowerMockito 模拟文件
Mocking a File using Mockito and PowerMockito
我正在为使用 FileWriter
创建文件但该文件实际上不存在的方法编写 JUnit
测试用例。我正在使用 PowerMockito
模拟 File
对象而不创建真实文件。我的测试通过了,但它仍然在项目的上下文根目录中创建了一个名为 Mock for file,hashCode
的文件。有没有办法避免创建这个文件?有一些类似的问题,但不是很清楚为什么这是 happening.So,在调试时我发现当代码到达 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
- 这是执行实际文件写入的那个
我正在为使用 FileWriter
创建文件但该文件实际上不存在的方法编写 JUnit
测试用例。我正在使用 PowerMockito
模拟 File
对象而不创建真实文件。我的测试通过了,但它仍然在项目的上下文根目录中创建了一个名为 Mock for file,hashCode
的文件。有没有办法避免创建这个文件?有一些类似的问题,但不是很清楚为什么这是 happening.So,在调试时我发现当代码到达 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
- 这是执行实际文件写入的那个