这个 groovy 语法如何转换为 kotlin?
How does this groovy syntax translate to kotlin?
我在 Kotlin 中创建了一个简单的问候语任务。
就像 gradle documentation 中的那个一样。
现在我正在向它添加一个简单的测试,在 groovy 中看起来像这样:
class GreetingTaskTest {
@Test
public void canAddTaskToProject() {
Project project = ProjectBuilder.builder().build()
def task = project.task('greeting', type: GreetingTask)
assertTrue(task instanceof GreetingTask)
}
}
除了这一行中的一位:
,我将其翻译成 Kotlin
def task = project.task('greeting', type: GreetingTask)
有问题的位是第二个参数。 类型:GreetingTask
它到底代表什么,它如何翻译成 Kotlin?
看看 docs. task
method takes a String
and a Map
. greeting is an instance of String
and type: GreetingTask is a named parameter which is converted to an instance of Map
. So you should pass a Map
as the second arg. Unfortunately, don't know how to declare a Map
in kotlin. This 方法可能会有帮助。
感谢 Opal 引导我找到解决方案。
这里除了他的回答还有kotlin版的测试:
class GreetingTaskTest {
@Test
public fun canAddTaskToProject() {
val project = ProjectBuilder.builder().build()
val task = project.task(mapOf("type" to GreetingTask::class.java), "greeting")
assertTrue(task is GreetingTask)
}
}
我在 Kotlin 中创建了一个简单的问候语任务。
就像 gradle documentation 中的那个一样。
现在我正在向它添加一个简单的测试,在 groovy 中看起来像这样:
class GreetingTaskTest {
@Test
public void canAddTaskToProject() {
Project project = ProjectBuilder.builder().build()
def task = project.task('greeting', type: GreetingTask)
assertTrue(task instanceof GreetingTask)
}
}
除了这一行中的一位:
,我将其翻译成 Kotlindef task = project.task('greeting', type: GreetingTask)
有问题的位是第二个参数。 类型:GreetingTask
它到底代表什么,它如何翻译成 Kotlin?
看看 docs. task
method takes a String
and a Map
. greeting is an instance of String
and type: GreetingTask is a named parameter which is converted to an instance of Map
. So you should pass a Map
as the second arg. Unfortunately, don't know how to declare a Map
in kotlin. This 方法可能会有帮助。
感谢 Opal 引导我找到解决方案。
这里除了他的回答还有kotlin版的测试:
class GreetingTaskTest {
@Test
public fun canAddTaskToProject() {
val project = ProjectBuilder.builder().build()
val task = project.task(mapOf("type" to GreetingTask::class.java), "greeting")
assertTrue(task is GreetingTask)
}
}