Bal*_*kar 5 java unit-testing mocking mockito
我必须抛出一个IOException使用Mockito的方法,它正在读取输入流,如下所示.有什么办法吗?
public void someMethod(){
try{
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
firstLine = in.readLine();
}catch(IOException ioException){
//Do something
}
Run Code Online (Sandbox Code Playgroud)
我试着嘲笑
BufferedReader buffReader = Mockito.mock(BufferedReader.class);
Mockito.doThrow(new IOException()).when(buffReader).readLine();
Run Code Online (Sandbox Code Playgroud)
但没有成功:(
你在嘲笑BufferedReader,但你的方法不使用你的模拟.它使用自己的新BufferedReader.您需要能够将模拟注入到方法中.
它似乎inputStream是包含此方法的类的字段.因此,您可以模拟inputStream,并在read()调用其方法时(通过InputStreamReader)使其抛出IOException .
| 归档时间: |
|
| 查看次数: |
7380 次 |
| 最近记录: |