有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android Studio单元测试:读取数据(输入)文件

在单元测试中,如何在不硬编码路径的情况下从(桌面)文件系统上的json文件读取数据

我希望从文件中读取测试输入(用于解析方法),而不是创建静态字符串

该文件与我的单元测试代码位于同一位置,但如果需要,我也可以将其放置在项目中的其他位置。我正在使用Android Studio


共 (3) 个答案

  1. # 1 楼答案

    对于本地单元测试(与插装测试相比),您可以将文件放在src/test/resources下,并使用类加载器读取它们。例如,下面的代码在resources目录中打开myFile.txt文件

    InputStream in = this.getClass().getClassLoader().getResourceAsStream("myFile.txt");
    

    它与

    • Android Studio 1.5.1
    • gradle插件1.3.1
  2. # 2 楼答案

    如果你去跑步->;编辑配置->;JUnit,然后为单元测试选择运行配置,有一个“工作目录”设置。这应该指向json文件所在的位置。请记住,这可能会破坏其他测试

  3. # 3 楼答案

    在我的例子中,解决方案是添加到gradle文件中

    sourceSets {
        test.resources.srcDirs += 'src/unitTests/resources'
      } 
    

    之后,AS 2.3.1找到了所有内容

    javaClass.classLoader.getResourceAsStream("countries.txt")