我想执行单元测试以检查Java中的文件加载。我在Mockitos doThrow上看到了一些帖子,但没有确切地实现它。
我的方法看起来像这样。
public void loadPropertiesFile(String filepath){
logger.info("Loading properties file");
try{
prop.load(new FileInputStream(filepath));
logger.info("Properties file read");
}catch(IOException e){
e.printStackTrace();
logger.info("Properties file read error");
}
}
我试图像这样测试它,但是在doThrow的不正确使用上出现错误:
@Test
public void loadPropertiesFileTestTrue(){
Utility util=new Utility();
doThrow(FileNotFoundException.class)
.when(util)
.loadPropertiesFile(null);
}
最佳答案
您只能在模拟对象上使用doThrow()
方法。
您应该这样更改代码:
@Test
public void loadPropertiesFileTestTrue(){
Utility util=Mockito.mock(Utility.class);
doThrow(FileNotFoundException.class)
.when(util)
.loadPropertiesFile(null);
}