首页 > 解决方案 > 如何使用junit测试来测试连接

问题描述

// 尝试为此编写一个 junit 测试。这可能真的很明显,但我想不出一种方法来实现它。

public void connectToDB() {
    conn = new QBasicConnection(host, port, user, password);
    try {
      conn.open();
    } catch (IOException e) {
      throw new IllegalStateException("", e);
    } catch (QException e) {
      throw new IllegalStateException("", e);
    }
  }

标签: javatestingjunit

解决方案


我建议你先阅读这篇文章: 什么是单元测试,你是怎么做的?

在您的测试用例中,您不想打开与数据库的真实连接。这不是您的程序的一部分,而是您用来访问数据库功能的框架的一部分。

避免这种情况的一个好方法是使用模拟。 什么是嘲笑?给你一个关于模拟的很好的概述,以及为什么你应该使用它们而不是依赖于数据库连接的整个依赖。

实际上,您可以编写的唯一测试将检查您的异常处理。在测试中,您将检查引发的异常conn.open()是否得到正确处理。


推荐阅读