我想在运行时的依赖关系之间切换。
伪代码:
//use com.realdependency.ConnectionFactoryImpl;
Class A {
// intergration test
void testWithLiveDomain() {
Connection connection = ConnectionFactory.getInstance().getConnection(domain);
}
}
// use com.mymockeddependency.ConnectionFactoryImpl;
class B {
// unit test
void testWithMockDomain() {
Connection connection = ConnectionFactory.getInstance().getConnection(domain);
}
}
如果我的 POM.xml 中有这两个依赖项,则我的类 B 使用真正的依赖项而不是模拟的依赖项。如何限制 B 类使用模拟依赖项
最佳答案
这是依赖注入(inject)的完美候选者。 如果这是 Web 应用程序,或者您可以添加其他库,例如 Spring 或任何类型的 DI 容器(PicoContainer?),您可以利用它们在运行时选择依赖项。
尝试谷歌搜索“java @Alternative 注释”。
关于java - 从依赖项中排除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069344/