在Android单元测试中,如果出现"未注册任何仪器!必须在注册仪器下运行"的错误,通常是因为没有正确配置测试运行环境。以下是解决该问题的代码示例:
@RunWith(AndroidJUnit4::class)@RunWith(AndroidJUnit4::class)
class ExampleUnitTest {
// ...
}
@get:Rule 注解来声明一个规则@get:Rule
val rule: ActivityTestRule = ActivityTestRule(MainActivity::class.java)
setUp() 方法中初始化并注册仪器@Before
fun setUp() {
InstrumentationRegistry.registerInstrumentation(InstrumentationRegistry.getInstrumentation())
}
完整的代码示例:
@RunWith(AndroidJUnit4::class)
class ExampleUnitTest {
@get:Rule
val rule: ActivityTestRule = ActivityTestRule(MainActivity::class.java)
@Before
fun setUp() {
InstrumentationRegistry.registerInstrumentation(InstrumentationRegistry.getInstrumentation())
}
@Test
fun addition_isCorrect() {
val result = 2 + 2
assertEquals(4, result)
}
}
通过以上步骤,你的Android单元测试应该能够成功运行了。记得在测试类中替换 MainActivity 为你要测试的实际活动或组件的名称。