我最近安装了 Android Studio Arctic Fox v2020.3.1,并且之前工作的单元测试不再被识别。
对于我使用的所有单元测试,@RunWith(RobolectricTestRunner::class)
我收到以下错误:
没有可运行的方法。未注册仪器!必须在注册仪器下运行。
我所做的更改如下:
- 将 org.junit.Test 替换为 org.junit.jupiter.api.Test
- 用@BeforeEach (org.junit.jupiter.api.BeforeEach) 更新所有@Before (org.junit.Before)
-
- 使用 @AfterEach (org.junit.jupiter.api.AfterEach) 更新所有 @After(org.junit.After)
我添加的依赖项是
def jupiter = '5.8.1'
testImplementation "org.junit.jupiter:junit-jupiter-api:$jupiter"
testImplementation "org.junit.jupiter:junit-jupiter-engine:$jupiter"
testImplementation "org.junit.vintage:junit-vintage-engine:$jupiter"
我还更新了 gradle 以包含 testOptions
testOptions {
unitTests.all {
useJUnitPlatform()
}
}
我的问题是,我们是否应该在最新的北极狐更新中使用新的 Runner?我不确定 Robolectric 是否是问题,或者 @RunWith 是否是问题,因为它仍然是 junit(导入 org.junit.runner.RunWith)。我找不到 Jupiter RunWith。
有没有人有办法解决吗?