我正在关注这篇文章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中,它没有,我在哪里可以放置那些夹具文件?
我发现这种方式,共享夹具文件test
到androidTest
:
将您的灯具文件添加到您的文件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);