如何从另一个模块访问测试类以在 junit 测试中使用?
Posted
技术标签:
【中文标题】如何从另一个模块访问测试类以在 junit 测试中使用?【英文标题】:how to access to test class from another module to use in junit test? 【发布时间】:2021-12-27 14:01:54 【问题描述】:我将当前的单片模块拆分为几个模块::app
、:ui
、:base
。
我使用:base
模块中的类在:ui
模块中编写了测试。
class FooTest : BaseTest
@Test
fun fooTest()
所以BaseTest
在:base
模块中,但是:ui 模块依赖于:base
。所以 AS 向我表明没关系。
在 :ui 模块的 gradle 文件中:
dependences
implementation project(":base")
但是当测试运行时我得到:
BaseTest: Unresolved reference: BaseTest
我尝试添加:
testImplementation project(":base")
或
androidTestImplementation project(":base")
但没有解决问题。 :(
【问题讨论】:
【参考方案1】:如果 BaseTest
文件位于 :base 的 main
目录而不是 test
目录中,则此方法有效
例如,您可以拥有一个名为 commontest
的模块,其中包含在模块的主目录中包含这些的常用工具/类,然后要在其他模块中使用它,您可以将其与 testImplementation project(':commontest')
一起包含
【讨论】:
谢谢。现在我知道为什么我的尝试不起作用了。你知道如何强制编译器“看到”测试子文件夹中的类吗? 可能有办法,但我找不到。以上是关于如何从另一个模块访问测试类以在 junit 测试中使用?的主要内容,如果未能解决你的问题,请参考以下文章