Robolectric测试环境移除stetho

Stetho是非常不错的调试工具,Robolectric是在单元测试中模拟android运行环境的工具。

正常情况下,我们是这样使用的:

    testCompile "org.robolectric:robolectric:3.1"
    debugCompile 'com.facebook.stetho:stetho:1.3.1'


但是在测试环境下,用的是debug的配置,所以把stetho也引用进来了。

这时候可以用Robolectric的shadow类模拟一个空的替代。

先把stetho的相关操作都集中到一个类

public class StethoUtil {

    static public void init(Application application){
        Stetho.initializeWithDefaults(application);
        OkHttp.create(OkHttp.getDefaultBuilder().addNetworkInterceptor(new StethoInterceptor()));
    }
}

创建shadow class

@Implements(StethoUtil.class)
public class ShadowStethoUtil {

    static public void init(Application application){

    }
}


引入shadow class

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 23, shadows = ShadowStethoUtil.class)
public class UserManagerTest {...}

这样,在测试环境中执行的就是ShadowStethoUtil了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值