1

请耐心等待,我还没有看到多平台如何工作的全貌。

我想要实现的是有一些业务逻辑,最后编译成一个 js 文件,我可以在 HTML 中使用,并且还可以用单元测试覆盖它。

我可以使用一个简单的 KotlinJS Gradle 项目来制作第一个公园。测试部分比较棘手。感谢 kotlin-test-js 我有一些注释,比如@Test,但我想编写参数化测试,我可以使用 JUnit 来实现。

这怎么可能?

我对 JS 很陌生。mocha、qunit、karma 对我来说都是新术语,我还没有掌握多模块设置。有没有一个很好的(最新的!)关于这个的文章?

谢谢

4

1 回答 1

1

您不能从纯 KotlinJS 项目中调用 JUnit(据我所知)。为此,您需要 Kotlin Multiplatform。然后,您可以拥有一个带有业务逻辑的“纯 Kotlin”模块,您可以使用 Kotlin/JS 特定模块(这个将编译为您想要的 .js 文件)和 Kotlin/JVM 特定模块(这个将支持您的 JUnit测试并在 JVM 上运行它们)。当然,你不能在纯 Kotlin 模块中使用 JS 特定的特性(如 DOM),但业务逻辑应该没问题。

有关如何设置此类项目的更多信息,请参阅官方文档。官方教程甚至明确提到了如何设置 JS 和 JVM 特定的模块和 JUnit。那里有一个额外的 Kotlin/Native 模块,您可以安全地删除/忽略它。

或者,您可以寻找纯 JS 单元测试框架,但设置起来可能有点棘手。

于 2019-07-15T15:08:12.447 回答