2
为了便于清理测试,我想在开发Android应用程序时使用Inversion of Control。对于普通的Java对象来说,看起来很简单,但是当我想用模拟数据对我的Activity
和Service
进行播种时,事情开始出现问题,因为我无法将这些组件的依赖项传递给它们的构造函数。我可以在Android组件中使用Inversion of Control吗?例如Activities和Services?
举个例子,假设我想有我Activity
正常使用过程中使用真实HttpUrlConnection
,但是出于测试,我想把它使用一个模拟HttpUrlConnection
实际上并没有连接到互联网。有没有办法通过IoC完成Activity
?
我意识到有依赖注入选项,如工厂,和图书馆,如匕首,可以帮助我,但我很好奇,如果有其他方式来实现这一点。
我意识到有可能是你想存根其他的事情,但是对于'HttpUrlConnection'你可以使用MockWebSever和饲料您的应用程序本地URL。另一种选择是将HTTP层抽象为一个可以提供虚假实现的对象。 – 2013-05-08 16:32:58