【问题标题】:How to read a file from src/instrumentTest/resources directory in Android?如何从 Android 的 src/instrumentTest/resources 目录中读取文件?
【发布时间】:2014-02-17 15:29:27
【问题描述】:

我有一个使用新标准 gradle 布局的 Android 应用程序:

源/主/java 源/主/资源 src/instrumentTest/java src/instrumentTest/资源

我在src/instrumentTest/java/com/example/MyUnitTest.java 中有一个单元测试,它读取位于 src/instrumentTest/resources/testfile.json 的文件

  • 第一个问题:放置测试文件的位置合适吗?
  • 第二个问题:如何读取字符串中的文件?

我在单元测试中尝试了这两种读取文件的方法,但没有成功(找不到文件):

String myJson = new Scanner(new File("testfile.json"),"UTF-8").useDelimiter("\\A").next(); String myJson = new Scanner(new File("resources/testfile.json"),"UTF-8").useDelimiter("\\A").next();

干杯!

【问题讨论】:

    标签: android testing android-gradle-plugin


    【解决方案1】:

    您可以使用您正在测试的构建类型的资产文件夹。如果您正在测试调试类型(这是默认类型):

    src/debug/res/assets
    

    然后你访问这些文件

    InputStream raw = context.getAssets().open("filename.ext");
    String myJson = new Scanner(raw).useDelimiter("\\A").next();
    

    使用 debug 构建类型的技巧会阻止您的测试资源被打包到最终的 apk 中。

    【讨论】:

    • 你在单元测试函数中从哪里获得上下文?
    • 我们在谈论仪器测试
    猜你喜欢
    • 2015-02-26
    • 2017-02-10
    • 2018-05-13
    • 2014-04-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多