发帖  主题  评论  推荐  标签 用户 查搜   用户 密码 自动 注册  
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

安卓依赖注入和测试库

  能够使Android开发变得容易的任何事情都应考虑。有一些库包,使测试更加简单,提高你的代码的模块化,并提供已创建的mock对象 。

依赖注入的定义按这里,下面是一个安卓依赖注入框架和一个测试框架:

  1. RoboGuice - 这是一个采取 Google依赖注入产品guice作为安卓的框架
  2. Robolectric -这是一个测试框架

 factory objects工厂方法 提供了分离了对象创建和对象使用,使用一个静态工厂对象用来作为测试使用:

public abstract class WidgetBase implements IWidget{
protected ISomeObject mSomeObject;

public WidgetBase(ISomeObject _obj){
mSomeObject = _obj;
}
}

public AlertWidgetFactory{
static private WidgetBase mTest = null;
static private boolean mTestFlag = false;
static WidgetBase create(ISomeObject _obj){
if(mTestFlag){
return mTest;
}
return new AlertWidget(_obj);
}

static void setTest(WidgetBase _testWidget){
mTest = _testWidget;
}

static void setTestFlag(boolean _flag){
mTestFlag = _false;
}
}

这样在Junit的setUp方法,可以替代WidgetBase的mock版本,使用下面代码测试就变得容易:

public void someMethod(String _value){
if(_value == ""){
ISomeObject foo = new SomeValueAssigner( _value );
IWidget alert = AlertWidgetFactory.create(foo);
}
//more code...
}

 

安卓的依赖注入DI Dagger应用源码

 

 

解道移动版 | 关注解道 | 联系解道 | 关于解道 | 广告联系 | 网站地图 | 设为首页

沪ICP证12033263 如有意见请与我们联系 Powered by JdonFramework
返回顶部