Robolectric测试环境移除stetho

来源:互联网 发布:golang mongodb 查询 编辑:程序博客网 时间:2024/06/05 03:35
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了


0 0
原创粉丝点击