模拟 - 创建新文件 (Java)
mock - creating new files (Java)
如何在不创建新目录的情况下检查if?
String st = "exemple";
String path = "exemple";
if (!new File(path).exists() && !new File(path).mkdirs()) {
throw new ComumException("trocaarquivos.erro.exemple", path);
}
我的尝试:
@PrepareForTest(File.class )
File myFile = PowerMockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(myFile);
PowerMockito.when(!new File(anyString()).exists() && !new File(anyString()).mkdirs()).thenReturn(true);
和
Mockito.when(myFile.exists()).thenReturn(true);
Mockito.when(myFile.mkdirs()).thenReturn(true);
3 天试图覆盖此代码。
在你的代码中提取下面的局部变量
File f= new File(path);
也在测试代码中
@PrepareForTest(File.class ) //Here instead of File it should be the class where new file is created, i.e. YourClass.class
即
@PrepareForTest(ClassYoureCreatingTheFileInstanceIn.class)
现在下面的代码应该可以工作了
File myFile = PowerMockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(myFile);
Mockito.when(myFile.exists()).thenReturn(true);
Mockito.when(myFile.mkdirs()).thenReturn(true);
如何在不创建新目录的情况下检查if?
String st = "exemple";
String path = "exemple";
if (!new File(path).exists() && !new File(path).mkdirs()) {
throw new ComumException("trocaarquivos.erro.exemple", path);
}
我的尝试:
@PrepareForTest(File.class )
File myFile = PowerMockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(myFile);
PowerMockito.when(!new File(anyString()).exists() && !new File(anyString()).mkdirs()).thenReturn(true);
和
Mockito.when(myFile.exists()).thenReturn(true);
Mockito.when(myFile.mkdirs()).thenReturn(true);
3 天试图覆盖此代码。
在你的代码中提取下面的局部变量
File f= new File(path);
也在测试代码中
@PrepareForTest(File.class ) //Here instead of File it should be the class where new file is created, i.e. YourClass.class
即
@PrepareForTest(ClassYoureCreatingTheFileInstanceIn.class)
现在下面的代码应该可以工作了
File myFile = PowerMockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(myFile);
Mockito.when(myFile.exists()).thenReturn(true);
Mockito.when(myFile.mkdirs()).thenReturn(true);