【问题标题】:androidTest - Instrumented Android testing (Test depends on a Handler() object)androidTest - 仪表化 Android 测试(测试依赖于 Handler() 对象)
【发布时间】:2020-07-06 12:43:50
【问题描述】:

现在我正忙于测试一些与 BLE 功能相关的类。因此,我编写了一些仪器测试。有一个类依赖于 Handler() 对象。很难测试多个函数,因为我现在在一个测试中使用 Looper.prepare() ,因此我要测试的类被初始化而没有异常。如果我想编写第二个测试,它会因为 Looper 而失败。我得到以下异常:

java.lang.RuntimeException: Only one Looper may be created per thread.

我还注意到测试是有顺序的。你知道它取决于什么吗? 测试:iniRepositoryTest() 在 checkIfProductConfiguredTest() 之前执行。如果我只在 initRepositoryTest() 中使用 Looper.prepare() ,那么两个测试都会毫无例外地运行。

PS:我知道测试名称可能会更好:D

【问题讨论】:

    标签: android testing android-handler instrumented-test


    【解决方案1】:

    我已经设法通过使用@UiThreadTest 注释来消除该错误。试试看吧。

    如果您需要处理程序,也可以试试这个:https://stackoverflow.com/a/53933984

    【讨论】:

      猜你喜欢
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多