2015-12-13 71 views
10

我正在关注这篇文章,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如何在Android的单元测试和仪器测试之间共享资源?

在单元测试,这个工程:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

但在Android的Intrumentation测试,这不,我在哪里可以把那些夹具文件?

+0

任何解决方案:

android { sourceSets { String sharedTestJavaDir = 'src/sharedTest/java' test { java.srcDirs += [sharedTestJavaDir] } androidTest { java.srcDirs += [sharedTestJavaDir] resources.srcDirs += ['src/test/resources'] } } } 
  • 访问夹具这样的文件从androidTest ENV?我面临同样的问题 – Nazneen

  • +0

    @Nazneen我发布了我找到的解决方案。 – nebiros

    回答

    7

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

    • 您的夹具文件添加到resources文件夹test之一,这里的:src/test/resources
    • 添加test资源文件夹androidTestresources.srcDirs += ['src/test/resources'],这里有一个例子:this.getClass().getClassLoader().getResourceAsStream(filename);

    +1

    谢谢。这工作一切正常 – Nazneen