0

我最近安装了 Android Studio Arctic Fox v2020.3.1,并且之前工作的单元测试不再被识别。

对于我使用的所有单元测试,@RunWith(RobolectricTestRunner::class)我收到以下错误:

没有可运行的方法。未注册仪器!必须在注册仪器下运行。

我所做的更改如下:

  1. 将 org.junit.Test 替换为 org.junit.jupiter.api.Test
  2. 用@BeforeEach (org.junit.jupiter.api.BeforeEach) 更新所有@Before (org.junit.Before)
    1. 使用 @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。

有没有人有办法解决吗?

4

0 回答 0