如何在Android单元测试中读取仅测试文件

前端之家收集整理的这篇文章主要介绍了如何在Android单元测试中读取仅测试文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我的 Android应用,我正在编写需要阅读一些文件的单元测试.因为那些是仅测试文件,我不希望他们在我的res文件夹,因为我不希望他们最终在我的最后的.apk文件.

我想做类似于this question的事情,但使用新添加的(在Gradle 1.1)unit test support(而不是仪器测试).

我的项目结构如下:

/app
   /src
      /main
         /java/my.module/myClass.java
         /res/production_resources_go_here
      /test
         /java/my.module/myClassTest.java
         /resources/testFile.txt

我的myClassTest测试应该能够成功读取testFile.txt吗?

解决方法

在提出这个问题的时候,这根本就不行.幸运的是,自从以后已经修复了.

你必须把你的文本文件放在app / src / test / resources文件夹下,就像OP试图做的那样.此外,它必须与测试类在同一个包中.因此,如果您在app / src / test / java文件夹中的package com.example.test中有ReadFileTest.java,那么您的测试文件应该在app / src / test / resources / com / example / test中.

然后你可以得到这样你的文本文件

getClass().getResourceAsStream("testFile.txt")

这将为文本文件打开一个InputStream.如果你不确定该怎么做,这里有许多方法可以使用它:Read/convert an InputStream to a String

猜你在找的Android相关文章