我正在尝试设置一些使用数据库的单元测试。我想在开发人员的计算机上而不是在生产数据库上使用测试数据库。我现在采用的方法是在连接到数据库时检查环境变量,如果该变量存在则连接到本地而不是生产环境。
我可以通过运行配置在 Eclipse 中设置环境变量,但我希望在运行 JUnit 测试时发生这种情况(以防万一)。
这在 Eclipse 中可行吗?
最佳答案
为什么不将数据库连接注入(inject)到需要测试的逻辑中,只在启动代码中处理环境变量(通常不需要单元测试)?
在测试中使用环境变量通常表明配置在您的代码 IME 中发生得太深。在可能的情况下,我发现通过依赖注入(inject)构建包含所需一切的对象要好得多,将代码与确定注入(inject)内容的配置代码分开。
关于java - 在 Eclipse 中为所有 JUnit 测试设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472538/