Kotlin单元测试没有发现模块依赖性接口

我有一个app模块和一个domain模块。 在我的domain模块中,我有一个名为Repository的接口。 在我的app模块中,我使用dagger来为我的类注入一个实现,这工作正常。

当我然后使用kotlin单元测试去测试时,在运行时我得到一个NoClassDefFoundError

我也尝试在我的app模块依赖关系中包含domain模块,但是这也不起作用:

 testImplementation project(':domain') 

这里是我目前的测试依赖关系,以及我如何包括模块

 implementation project(':domain') testImplementation 'junit:junit:4.12' testImplementation 'com.nhaarman:mockito-kotlin:1.5.0' 

在我的单元测试中,我使用它可能是这个问题:

 @Mock lateinit var mockRepo : Repository 

感谢@Mark Keen ,我能够在Jetbrains网站上找到一个报告错误 。

这包含一个来自用户@Calin的解决方案。 将以下内容添加到项目的build.gradle文件中并触发gradle同步就可以了。

 subprojects { subProject -> afterEvaluate { if (subProject.plugins.hasPlugin("kotlin") && subProject.plugins.hasPlugin("java-library")) { subProject.kotlin.copyClassesToJavaOutput = true subProject.jar.duplicatesStrategy = DuplicatesStrategy.EXCLUDE } } }