【发布时间】:2016-11-03 01:05:56
【问题描述】:
我根据this previous question 创建了一个 Kotlin+Gradle 项目。我添加了两个源文件:
src/HelloWorld.kt
package com.example.hello
fun main(args : Array<String>) {
println("Hello, world!")
}
测试/HelloWorldTest.kt
package com.example.hello
import org.junit.Assert
import org.junit.Test
class HelloWorldTest {
@Test
fun testPasses() {
Assert.assertTrue(true)
}
@Test
fun testFails() {
Assert.assertTrue(false)
}
}
我还将目录src/ 标记为源根目录,并将test/ 标记为测试源根目录。
如果我在别处创建与这些源文件完全相同的目录结构并围绕它创建一个非 Gradle IntelliJ 项目,我就能够编译和运行此代码,包括测试。
但是,在我的 Gradle 版本的项目中,我无法从 IntelliJ IDEA 构建测试。我收到以下错误:
Error:(3, 12) Kotlin: Unresolved reference: junit
Error:(4, 12) Kotlin: Unresolved reference: junit
Error:(7, 6) Kotlin: Unresolved reference: Test
Error:(9, 9) Kotlin: Unresolved reference: Assert
Error:(12, 6) Kotlin: Unresolved reference: Test
Error:(14, 9) Kotlin: Unresolved reference: Assert
奇怪的是,如果我在构建包装器后运行 gradle test(或 ./gradlew test),构建成功且没有错误,但测试没有运行。
- 如何以 IntelliJ IDEA 可以看到的方式添加 JUnit?
- 如何让 Gradle 真正运行测试?
- 为什么 IntelliJ IDEA 和 Gradle 的行为不同,我如何确保它们在我以后构建或运行测试时具有相同的行为?
【问题讨论】:
标签: intellij-idea gradle junit kotlin