如何在Android的unit testing和仪器testing之间共享资源?

我正在关注这个post, 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

unit testing中,这个工作:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

但在Android操作系统testing中,它并不是,我可以在那里放置这些夹具文件?

Solutions Collecting From Web of "如何在Android的unit testing和仪器testing之间共享资源?"

我发现这样,从test共享夹具文件到androidTest

  • 将你的夹具文件添加到你的test resources文件夹,在这里: src/test/resources
  • test资源文件夹添加到androidTestresources.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访问fixture文件: androidTest this.getClass().getClassLoader().getResourceAsStream(filename);