Robolectric:“未找到 AndroidManifest.xml”和“无法找到资源 ID #0x7f09001b”

2023-12-02

我正在使用 Robolectric 进行一些测试,但遇到了一个无法解决的问题。 当我运行测试时,“AndroidManifest”出现以下错误:

警告:在 .\AndroidManifest.xml 中找不到清单文件。

仅回退到 Android 操作系统资源。要删除此警告,请注释 使用 @Config(manifest=Config.NONE) 的测试类。

没有这样的清单文件:.\AndroidManifest.xml

我已经尝试过这些解决方案failed:

@Config (manifest = Config.DEFAULT_MANIFEST_NAME)

@Config(manifest = Config.NONE, constants = BuildConfig.class, sdk = 26)

@Config( constants = BuildConfig.class, manifest="src/main/AndroidManifest.xml", sdk = 26 )

执行过程中的另一个错误是:

android.content.res.Resources$NotFoundException:无法找到 包中的资源 ID #0x7f09001b [android, org.robolectric.default]

...

at

com.example.robertoassad.alltestsmerge.MainActivity.onCreate(MainActivity.java:52)

有错误的这一行是以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

具体来说 in: setContentView(R.layout.activity_main);

对我来说,我没有看到这个问题的意义......

DETAILS:

  • 测试类位于文件夹中:app\src\test\java\com\example\robertoassad

  • 测试是: @RunWith( RobolectricTestRunner.class) public class Roboletric { @Test public void clickingLogin_shouldStartLoginActivity() { MainActivity activity = Robolectric.setupActivity(MainActivity.class); activity.findViewById(R.id.button2).performClick();

            Intent expectedIntent = new Intent(activity, SecondActivity.class);
            Intent actual = ShadowApplication.getInstance().getNextStartedActivity();
            assertEquals(expectedIntent.getComponent(), actual.getComponent());
         }
    

    }


我遇到了与您面临的问题类似的问题。这乔格里什发表的文章关于此问题的 Robolectric GitHub 问题解决了我的问题。

对我有用的答案的一个方面是添加一个testOptions阻止我的模块中的build.gradle file:

testOptions {
    unitTests {
        includeAndroidResources = true
    }
}

添加此块后,我的测试能够运行和访问字符串资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Robolectric:“未找到 AndroidManifest.xml”和“无法找到资源 ID #0x7f09001b” 的相关文章

随机推荐

  • 是否可以以编程方式在网页全屏模式下禁用 esc/F11 键? [复制]

    这个问题在这里已经有答案了 是否可以以编程方式在网页全屏模式下禁用 esc F11 键 我需要在网页中有一个退出按钮来退出全屏模式 但需要防止使用 Windows 的其他功能 如 esc F11 等 退出全屏模式 如果有人对此有任何想法 请
  • 当宽度不同时CSS倒梯形

    我需要制作下面的形状 其中将包含一些文本 有时文本会更长 有时会更短 因此我可以使用任何固定宽度 这是我的代码 我想知道是否有一种方法可以将图像标记到跨度的开头和结尾 高度不会改变 因此就跨浏览器解决方案而言 这可能是最好的 div cla
  • 我的Java版本是最新版本但我的JVM仍然是1.5?

    最近我尝试使用Eclipse但是当我打开它时 它告诉我我的 JVM 版本太旧 Incompatible JVM Version 1 5 0 05 of the JVM is not suitable for this product br
  • Xamarin Forms - 应用程序打开时禁用自动锁定

    我想在我的应用程序打开时禁用自动锁定 我怎样才能做到这一点 https learn microsoft com en my xamarin essentials device display tabs android 只需要设置Device
  • 如何组织或排序 std::vector

    我有一个充满 cv Point 的向量 我想组织这个向量 以便具有最小 x 和 y 值的点应该是第一个 最后一个应该具有最高的 x y 值 任何想法我该怎么做 Use std sort std sort vec begin vec end
  • 缩放和旋转 模板匹配

    我正在使用匹配模板的方法CV TM CCORR NORMED比较两个图像 我想让这个旋转和比例不变 有什么想法吗 我尝试对图像和模板的傅里叶变换使用相同的方法 但旋转后的结果仍然不同 模板匹配matchTemplate当您的对象在场景中旋转
  • Angularjs 需要星号

    我有一个大表单的指令 其中一些字段是必需的 一些字段不是必需的 必填字段标有required属性 我想在所有输入之前加上 span class something span 基本上是这样的 input required prepend sp
  • Git安装脚本如何输入shell命令

    这更多是一个与 git 相关的问题 而不是与 openshift 相关的问题 当我使用 git 将文件推送到 git 服务器时 我看到我的 perl 的文件权限index cgi在我的 openshift 存储库中 文件更改为 700 因此
  • matplotlib 在子图中创建断轴

    我有一个有问题的子图 它有两个数据比例 我不想使用对数刻度 而是想打破轴 以便子图 y 轴的一半从 0 到 10 另一半从 10 到 100 import numpy as np import matplotlib pyplot as pl
  • Selenium/Webscrape 该字段

    我的代码运行良好并打印所有行的标题但带有下拉菜单的行 例如 如果单击第 4 行 则会出现一个下拉列表 我实现了一个try理论上这会启动下拉菜单 然后拉出标题 但是 当我执行 click 并尝试打印时 对于具有这些下拉列表的行 它们不会打印
  • 如何在 Fortran 中的 do 循环中跳过一些迭代

    例如 我想以 2 的增量从 1 循环到 500 但是 对于每 8 个循环 我想跳过接下来的 18 个循环 使 do 变量增加 18 我怎么做 我的代码是 event 0 do i 1 500 2 event event 1 if event
  • 为什么总是调用超类构造函数[重复]

    这个问题在这里已经有答案了 我有以下2个课程 public class classA classA System out println A class classB extends classA classB System out pri
  • 创建一个安全的 Lua 沙箱..?

    现在我正在做很多事情 local env print print setfenv 函数 环境 然后使用元方法来锁定实例上的属性 但它确实效率低下并且有很多绕过 我用谷歌搜索了它 我发现的一切都与此相同 不起作用 在 Lua 5 1 中 沙箱
  • 尝试将 $element 注入 ng-view 会导致未知提供者错误

    我想知道这是否是一个错误或记录在某处 似乎将 element 注入 ng view 指令附加的控制器失败 这是一个例子 脚本 js controller MainCtrl route routeParams location element
  • MongoDB 游标内存泄漏(OutOfMemory)?

    这就是我读取大型 MongoDB 表的方式 每个对象的属性中都有非常大的数据块 DBCursor cursor collection find my query while cursor hasNext DBObject object cu
  • Google Sheet API 值批量更新,正文中范围数量的限制

    https developers google com sheets api reference rest v4 spreadsheets values batchUpdate 这里的文档没有说明一次调用可以一次更新主体中的多少个范围 有人
  • ThreeJS - 绕对象自身轴旋转

    我试图围绕它自己的轴旋转对象 但没有任何效果 我尝试了文档中的所有函数 欧拉函数等 但它根本不想旋转 您可以使用如下所示的模式在其自身 局部 轴上旋转对象 var axis new THREE Vector3 x y z normalize
  • IOS 中的自定义字体未反映在设备上

    我跟着这个tutorial自定义字体显示在我的故事板上 但是当我执行我的应用程序 在模拟器或设备上 时 字体没有反映出来 谁能帮忙 这就是我所做的 1 downloaded a ttf file and copied it to my pr
  • 监控 JQuery 发出的所有 AJAX 请求?

    有没有办法监视页面上使用 JQuery 发出的所有 ajax 请求 并使用每个请求的结果调用回调函数 例如我发出 ajax 请求 get foo foo bar get bar bar foo 然后 每次完成这些 ajax 请求时 我都会调
  • Robolectric:“未找到 AndroidManifest.xml”和“无法找到资源 ID #0x7f09001b”

    我正在使用 Robolectric 进行一些测试 但遇到了一个无法解决的问题 当我运行测试时 AndroidManifest 出现以下错误 警告 在 AndroidManifest xml 中找不到清单文件 仅回退到 Android 操作系