【问题标题】:android tests often stall at 'instantiating tests'android 测试经常停留在“实例化测试”
【发布时间】:2016-05-31 11:36:45
【问题描述】:

当我单击运行测试按钮时,Android Studio 会构建并尝试运行测试。

70% 的情况下,它会说“正在实例化测试...”,并且从不去任何地方。如果我终止 adb-server、拔下设备或终止模拟器,测试套件会神奇地运行良好。

那天晚上我什至看到了一个奇怪的行为。当它说实例化测试时,我拔掉了设备。 Android Studio 发现它消失了。几个小时后,我从口袋里掏出手机,解锁,不知从何而来,它开始运行测试套件。

知道什么会导致这种行为吗?我找到的最接近的是Android Test stopping in instantiating tests,但这是指不同的问题。

【问题讨论】:

  • 解决了吗?
  • 否 :( 我已经部分改用 Genymotion,这对一些人有帮助,但我有需要 VPN 的测试,所以它不能解决我的问题。
  • 有什么解决办法吗?
  • 还是没有解决办法,没有
  • 我不敢相信我们就这样接受了 gradle。一台计算机每秒可以执行数百万次操作,而 gradle 被困在单个任务中长达 6 分钟才能运行一个测试。他们在幕后所做的事情超出了我的理解

标签: android unit-testing android-studio


【解决方案1】:

对我造成这种情况的原因:

  • 我将构建配置设置为“All in package”,并将包名称设置为 com.mycompany。更改为 com.mycompany.appname 以解决问题。

  • 模拟器已过期。运行更新已修复问题。

【讨论】:

  • 创建一个新的虚拟设备并在那里运行对我有用
【解决方案2】:

我也有同样的问题,但只有在以调试方式运行时才会出现问题。正常运行的时候从来没有。

我通过在我的 Build.gradle 中删除 Test Orchestrator 来修复它。

//Disable Me
//        testInstrumentationRunnerArguments clearPackageData: 'true'
//        testOptions {
//            execution 'ANDROID_TEST_ORCHESTRATOR'
//        }

【讨论】:

【解决方案3】:

这也发生在我的OnePlus 5 上——我无法让它运行。好像只和这个设备有关。

我最终使用了模拟器和其他手机,效果很好。

【讨论】:

  • 我也在 OnePlus 5 上进行了测试。它一直停留在 Instantiating 上。虽然在模拟器上工作正常。我无法在任何其他设备上对此进行测试。似乎是特定于设备的问题。
  • 和我一样,用的是一加 5T。难以置信
  • 我的一加5也一样
【解决方案4】:

我尝试了 Artie 的建议,但它们对我不起作用。最后起作用的是:

  1. 关闭模拟器
  2. 打开 AVD 管理器
  3. 在“操作”列中,单击向下箭头并选择“立即冷启动”
  4. 等到模拟器再次运行
  5. 运行测试

在这样做之后,测试构建得非常快并且运行没有问题。

【讨论】:

    【解决方案5】:

    我也遇到过同样的情况 - 测试运行程序启动,说“实例化测试”,但没有任何反应。

    正如上面 Sumukh Bhandarkar 的评论所暗示的,我做了以下事情:

    • 构建 > 清理项目
    • 再次调试测试

    如果这不起作用,并且您打开了 Android 设备监视器:

    • 杀死标有红色“调试”符号的进程
    • 再次调试测试

    如果 不起作用,并且您仍然打开 Android 设备监视器:

    • 关闭 Android 设备监视器
    • 再次调试测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多