IntelliJ IDEA 2018.2.3(Community Edition)中的Kotlin多平台模板在build.gradle
中依赖于JUnit 4.12,用于项目的JVM部分:
plugins {
id 'kotlin-platform-jvm' version '1.2.61'
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
expectedBy project(":TestMulti-common")
testCompile "junit:junit:4.12"
testCompile "org.jetbrains.kotlin:kotlin-test"
testCompile "org.jetbrains.kotlin:kotlin-test-junit"
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
sourceCompatibility = "1.8"
值得注意的是,我使用的是Gradle4.10(一些较旧的示例使用junit-platform-gradle-plugin
,它从Gradle4.6起就被弃用了)。关于如何设置的文档已经过时并且稀少:
当我尝试基于JUnit 5 Gradle示例为项目的JVM部分设置build.Gradle
时,我可以使用Gradle运行测试,但IntelliJ似乎不识别我的测试。
plugins {
id 'kotlin-platform-jvm' version '1.2.61'
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
expectedBy project(":TestMulti-common")
testCompile "org.jetbrains.kotlin:kotlin-test"
testCompile "org.jetbrains.kotlin:kotlin-test-junit5"
testCompile('org.junit.jupiter:junit-jupiter-api:5.3.1')
testCompile('org.junit.jupiter:junit-jupiter-params:5.3.1')
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.3.1')
}
test {
useJUnitPlatform()
testLogging {
events "passed", "skipped", "failed"
}
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
sourceCompatibility = "1.8"
奇怪的是,在JVM项目上运行gradle test
时,有时测试结果会出现在IntelliJ的测试结果中,但当重新运行测试时,会出现消息“test events ware not received”。边距中的“运行”图标永远不会出现在源文件中,上下文菜单中的测试选项也不会出现。
其他人似乎也有类似的问题,但不清楚这些问题是相同的/相关的还是已经解决了,因为:
许多不同的版本、过时的文档和类似的问题使得很难找到关于这个问题的更多信息。
这是IntelliJ中的一个bug,正如我在下一期YouTrack中所描述的:IntelliJ不识别Kotlin多平台项目中的JUnit5测试。
在最新的版本中,这一方法现在起作用了。我尝试了Kotlin 1.3.71、IntelliJ插件1.3.71-release-ij2019.3-1和JUnit 5.6.0。
我想在我的所有子项目中使用与gradle的平台的物料清单。http://platform.spring.io/platform/ 文档描述了如何在单个项目中激活bom。需要使用spring-boot插件。我们将使用spring-boot插件,但只在单个子项目中使用。其他项目应该只从bom中获利,但不会包含一个“Main”类来运行spring-boot。 在根文件夹中运行gradle:gradle
我得到这个构建错误: kotlin多平台项目中的kotlinOptions 奇怪的是,最初的海报据称只是通过修补他的androidx进口产品来解决这个问题。也许值得注意的是,我的所有六个“不能内联字节码”都与对新的多平台Okio库的方法调用相关联。但更有可能的是我自己的设置出现了错误,而不是杰克·沃顿帮做的事情。
报告工作的groovy代码是: 这将如何翻译成Kotlin DSL?我尝试了许多变体,其中一些编译和运行,但不创建所需的输出。可运行的罐子。
我的KMP Jetpack Compose项目中继续出现Gradle配置错误 配置项目:共享时出现问题。 找不到名为“testApi”的配置。 我的设置是: Android Studio北极狐狸2020.3.1金丝雀3 项目级别设置 注意:通过删除一部分一部分的配置,我似乎发现问题似乎是围绕着android配置本身,所以如果我删除android()部分 只要简单的jvm()就可以了
我使用的是IntelliJ IDEA多平台项目,jsTest Gradle任务不检测任何测试。jvmTest测试运行没有问题。当我使用调试输出运行jsTest任务时,我可以看到任务运行并立即完成。 Gradle版本4.10.1。科特林版本1.3.0-eap。 如何纠正Gradle配置,或者我可以运行什么命令,以便实际检测到测试,并且(如所写)失败? build.gradle: test-proje
我试图将mapstruct添加到gradle spring boot项目中。这里是构建的相关部分。gradle文件: 这是我的界面: 我在两个地方收到了我的映射器接口的生成实现:首先是预期的,但我的代码没有使用:构建/生成/源/... /LogMessageMapperImpl 第二个意外但由我的代码使用:app/src/main/generated//LogMessageMapperImpl 如