Kotlin 多平台项目在 IDEA 中运行通用模块测试

Posted

技术标签:

【中文标题】Kotlin 多平台项目在 IDEA 中运行通用模块测试【英文标题】:Kotlin multiplatform projects run common module test in IDEA 【发布时间】:2019-01-25 09:23:48 【问题描述】:

我正在使用带有 js/jvm 子项目的 kotlin 多平台项目。 我曾经在 jvm 子项目中进行单元测试(使用 kotlin 测试注释进行注释),并且我使用右键单击轻松运行测试 + 使用 junit 运行“xxx”测试。一旦我将这些测试移到公共模块,该选项就不可能了。

我仍然可以使用命令行 gradle 运行测试,我什至设法创建了有效的运行配置,但为了方便起见,我错过了简单的“右键单击运行”类甚至特定的测试方法。

有什么方法可以在项目中实现吗?

谢谢!

【问题讨论】:

将我的项目转换为多平台项目后,在这里遇到了同样的问题。运气好吗? 遇到同样的问题,IntelliJ 2018.2.5,Kotlin 插件 1.3.0-release-IJ2018.2-1 这里也一样。 Kotlin 1.3.10 中问题仍然存在。 问题在 Kotlin 1.3.21 和 IntelliJ 2019.1 中仍然存在 【参考方案1】:

您使用哪个 Kotlin 版本? a bug 在 1.2.60 中有测试排水沟,但它在下一个版本中修复,预计在下周初。

它实际上应该像你描述的那样工作,所以如果它不是有错误的版本,那么最好提交它。

【讨论】:

感谢您的链接!目前我在 1.2.60,但它甚至在之前都没有工作,当我在 1.2.31 或 1.2.40 我想。 我在1.2.61,这个问题仍然存在。在下一个版本中,您的意思是 1.2.70(在您链接到的问题中,这似乎被列为“Fix in builds”)? 似乎我们已经在问题中讨论过它:) 我的意思是 1.2.61,内部版本号 1.2.70 意味着它也会在那里,仅此而已。谈到问题字段,target version 通常在这种情况下包含更多相关信息,而fix in builds 应该是供内部使用的。 问题在 Kotlin 1.3.21 和 IntelliJ 2019.1 中仍然存在 您的意思是缺少动作还是this 问题?

以上是关于Kotlin 多平台项目在 IDEA 中运行通用模块测试的主要内容,如果未能解决你的问题,请参考以下文章

如何在多平台多项目 Kotlin 构建中向另一个项目的测试添加依赖项

Kotlin 通用库可在多个 MPP 中重用

在 kotlin 多平台项目中运行测试

从 ktor 提供 kotlin 多平台 javascript

无法在 Kotlin 多平台项目中调试 iOS 应用程序

无法导入 Kotlin 多平台通用的依赖项