//试图为此编写一个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);
}
}
答案 0 :(得分:3)
我建议您先阅读这篇文章: What is unit testing and how do you do it?
在测试用例中,您不想打开与数据库的真实连接。 这不是您的程序的一部分,而是您用来访问数据库功能的框架的一部分。
避免这种情况的一种好方法是使用模拟。 What is Mocking?为您提供了关于模拟以及如何使用模拟而不依赖于数据库连接的全部依赖的很好的概述。
实际上,您可以编写的唯一测试将检查您的异常处理。
在测试中,您将检查conn.open()
引发的异常是否得到正确处理。