为了促进更清洁的测试,我想在开发我的 Android 应用程序时使用控制反转。使用普通 Java 对象看起来很简单,但是当我想用模拟数据播种我Activity
的 s 和Service
s 时,事情开始出现问题,因为我无法将这些组件的依赖项传递给它们的构造函数。
例如,假设我想在正常使用期间Activity
使用真实HttpUrlConnection
的,但为了测试,我想让它使用HttpUrlConnection
实际上不连接到互联网的模拟。有没有办法通过 IoC 来实现这一点Activity
?
我意识到有诸如工厂之类的依赖注入选项,以及诸如 Dagger 之类的库可以帮助我,但我很好奇是否还有其他方法可以实现这一点。