我在 tomcat 容器中开发应用程序时使用 Eclipse 和 JUnit 4。容器管理与我们的 Oracle 数据库的连接。
在使用 JUnit 进行测试时,我遇到了以下问题: 在测试主题的构造函数中,有如下内容:
public Subject() {
// stuff
FancySingleton.getInstance().getFancy("stuff");
}
不幸的是,该方法getFancy()
尝试执行它不能执行的查询,因为 JUnit 不在 tomcat 容器中运行并最终陷入无限循环。
我的第一个想法是超越代码。转念一想,这似乎是个坏主意。我可能会忘记在提交之前删除评论。
我的第二个想法是突出显示 eclipse 的代码,这样它就不会在运行 JUnit 测试时执行它。但是需要eclipse支持这样的方法。
最后我想到了预处理器指令之类的东西。
你有什么想法?只是将布尔值传递给构造函数并不是处理这种情况的一种干净方式。