java – Android Studio单元测试中的资源文件夹

我有一个Gradle项目,具有以下结构:
project/
    src/
        androidTest/
            java/
        main/
            java/
            res/
            AndroidManifest.xml
    build.gradle

现在我想添加一个使用资源(“原始”或“资产”)的单元测试.

我将资源放入project / androidTest / assets / test_file中,并使用getContext()getResources().getAssets().open(“test_file”); (在AndroidTestCase中).

但是,这给我一个FileNotFoundException.如何解决这个问题?

解决方法

看起来你正在尝试创建一个测试单元测试,因为你想在androidTest文件夹中创建它.

您可以在测试中使用这两行之一来获取上下文:

> Context ctx = InstrumentationRegistry.getTargetContext();
这个将给你你的应用程序的上下文.您可以使用它来获取例如src / main / assets中的资产.
> Context ctx = InstrumentationRegistry.getContext();
这个将给你测试应用程序的上下文.您可以使用它来获取src / androidTest / assets中的资产

如果您想更多地了解单元测试中的资产,您可以阅读this的帖子.在this github file你有一个例子.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...