Mockito-无法引发异常



我有一个静态void方法(),它调用ByteArrayOutputStream的write(byte[])。

我希望write(byte[])抛出IOException。当IOException发生时,我从method()抛出一个新的自定义异常。我试着嘲笑ByteArrayOutputStream。

TestClass
   test() {
      ByteArrayOutputStream outputStream = Mockito.mock(ByteArrayOutputStream.class);
      Mockito.dothrow(new IOException()).when(outputStream ).write(somebyte[]);`
      ClassA.method();
      ...
   }

上面没有抛出异常,但如果我在test()中调用outputStream.write(somebyte[]),就会抛出异常。为什么它不嘲笑ClassA.method()中的ByteArrayOutputStream?

我哪里错了?

必须编写与mock中使用的somebyte[]对象相同的对象。如果参数与不同,Mockito将忽略调用

如果没有对对象的引用,请使用"any"匹配器。

Mockito.doThrow(new IOException())
    .when(outputStream).write(Matchers.any(byte[].class));

相关内容

  • 没有找到相关文章

最新更新