我想执行单元测试来检查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);
}