当前位置:  开发笔记 > 前端 > 正文

如何在android中的单元测试和仪器测试之间共享资源?

如何解决《如何在android中的单元测试和仪器测试之间共享资源?》经验,为你挑选了1个好方法。

我正在关注这篇文章http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/,以分享代码,但是如何分享一个资产?,像一个夹具文件?,我想模拟一个api响应,所以我有一个JSON文件来做,但我试试这个:https://gist.github.com/nebiros/91a68aaf6995fa635507

在单元测试中,这适用于:

ClassLoader.getSystemResourceAsStream("some_response.json");

但是在Android Intrumentation Tests中,它没有,我在哪里可以放置那些夹具文件?



1> nebiros..:

我发现这种方式,共享夹具文件testandroidTest:

将您的灯具文件添加到您的文件resources夹中test,在这里:src/test/resources.

添加test资源文件夹androidTest,resources.srcDirs += ['src/test/resources']这里是一个例子:

android {
    sourceSets {
        String sharedTestJavaDir = 'src/sharedTest/java'

        test {
            java.srcDirs += [sharedTestJavaDir]
        }

        androidTest {
            java.srcDirs += [sharedTestJavaDir]
            resources.srcDirs += ['src/test/resources']
        }
    }
}

androidTest这种方式访问env中的fixture文件:this.getClass().getClassLoader().getResourceAsStream(filename);

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有