0

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

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

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

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

4

1 回答 1

0

通过使用@UiThreadTest注释,我设法摆脱了该错误。试试看。

或者如果你需要一个处理程序试试这个:https ://stackoverflow.com/a/53933984

于 2020-08-21T18:58:57.937 回答