gpt4 book ai didi

android - AndroidStudio 2.3 更新后 Robolectric 测试中的 RuntimeEnvironment.application

转载 作者:行者123 更新时间:2023-11-28 20:11:05 25 4
gpt4 key购买 nike

我们在 Android Studio 中使用 Robolectric 进行测试。

最近从 2.2.x 更新到 2.3 后,我使用 Robolectric 运行的所有测试(即 @RunWith(RobolectricTestRunner.class))都失败了。

更具体地说,我在这里遇到了 ClassCastException,因为 RuntimeEnvironment.application 似乎不再返回为测试目的创建的自定义应用程序类型。

MyTestApplication testApp = (MyTestApplication) RuntimeEnvironment.application;
// do something with testApp

显然我得到的是一个普通的旧 android.app.Application 而不是预期的类型...

症结所在:

  • 测试和配置都没有改变,我唯一做的就是 AndroidStudio 更新(我做了 git reset --hard 只是为了确保......) .
  • 在命令行上,我的测试运行得很好,这让我觉得这可能是 Android Studio 中的测试运行程序的问题。

:(

我想我几乎尝试了 Android Studio 中的所有操作,例如清理/重建、重新同步 gradle 文件、无效缓存 + 重启...我尝试重新下载并重新安装 Android Studio(2.2.3 和 2.3 版本)。我清理了我的本地 gradle 缓存和我的本地 .m2 repo 只是为了确保,但无济于事...... :(

最佳答案

找到解决方案:

  1. 转到运行 > 编辑配置
  2. 然后在 JUnit > java in app 的运行/调试配置中
  3. 工作目录字段中添加$MODULE_DIR$

关于android - AndroidStudio 2.3 更新后 Robolectric 测试中的 RuntimeEnvironment.application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com