【问题标题】:when does CSVWriter throws exception when csvWriter.close()?csvWriter.close() 时 CSVWriter 什么时候抛出异常?
【发布时间】:2022-01-17 14:19:39
【问题描述】:

我正在尝试涵盖异常的单元测试用例。 我的代码是这样的

if (null != csvWriter) {
        try {
          csvWriter.close();
        } catch (Exception ee) {
          log.error("Error in closing csvWriter. You may loose content.");
        }
      }

我想介绍 Mockito 单元案例中的异常。有什么办法吗?

【问题讨论】:

  • Mockito 是一个模拟框架。您的意思是要涵盖 JUnit 测试用例中可能抛出的异常吗?
  • 是的,没错
  • 您可以尝试多次关闭编写器,这应该会抛出。

标签: java exception mockito powermockito csvwriter


【解决方案1】:

假设您的 CSVWriter 是假的。然后你可以让它在调用 close 方法时抛出异常。

@Test
void csvWriterThrows() throws IOException
{
    final CSVWriter csvWriter = Mockito.mock(CSVWriter.class);
    Mockito.doThrow(IOException.class).when(csvWriter).close();

    final IOException ioException = Assertions.assertThrows(IOException.class, csvWriter::close);

    Assertions.assertEquals(IOException.class, ioException.getClass());
    # more assertions...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多