如何从另一个模块访问测试类以在junit测试中使用?

Lun*_*lpo 6 android junit4

我将当前的整体模块拆分为几个模块::app:ui:base

:ui使用模块中的类在模块中编写了测试:base

class FooTest : BaseTest {

@Test
fun fooTest() {}
}
Run Code Online (Sandbox Code Playgroud)

soBaseTest:base模块中,但 :ui 模块依赖于:base. 所以 AS 向我表明这是可以的。

在 :ui 模块的 gradle 文件中:

dependences {

   implementation project(":base")
}
Run Code Online (Sandbox Code Playgroud)

但是当测试运行时我得到:

BaseTest: Unresolved reference: BaseTest
Run Code Online (Sandbox Code Playgroud)

我尝试添加:

   testImplementation project(":base")
Run Code Online (Sandbox Code Playgroud)

或者

   androidTestImplementation project(":base")
Run Code Online (Sandbox Code Playgroud)

但不能解决问题。:(

Moh*_*led 1

BaseTest如果文件位于main:base 目录而不是test目录中,则此方法有效

例如,您可以有一个名为 的模块commontest,其中包含常见的实用程序/类,这些实用程序/类包含在模块的主目录中,然后要在其他模块中使用它,您可以将其包含在testImplementation project(':commontest')