Вопрос или проблема
Какова версия этого фрагмента кода на Kotlin из Groovy Gradle?
test {
testLogging {
events "passed", "skipped", "failed"
}
}
Я пытался установить события testLogging
внутри tasks.test
, но это привело к ошибке компиляции.
tasks.test {
useJUnitPlatform()
testLogging.events = listOf("PASSED", "FAILED", "SKIPPED")
}
В Kotlin DSL, чтобы установить события testLogging
, вы можете сделать это следующим образом:
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
Здесь, внутри блока testLogging
, мы вызываем функцию events
и указываем желаемые события. В вашем коде есть небольшая ошибка; вместо testLogging.events = listOf(...)
вам следует использовать events(...)
напрямую.
Ответ или решение
Чтобы установить события логирования тестов в Kotlin DSL для Gradle, вы можете использовать следующий код:
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
В данном коде мы настраиваем задачу тестирования (tasks.test
) и указываем, что хотим использовать JUnit Platform с вызовом useJUnitPlatform()
. Затем внутри блока testLogging
мы задаем события, которые хотим отслеживать, вызывая функцию events
. Этот метод позволяет вам указать события, которые будут выводиться в логах: "passed" (пройдено), "skipped" (пропущено) и "failed" (провалено).
Ваша попытка использовать выражение testLogging.events = listOf(...)
не сработала, потому что в Kotlin DSL для Gradle необходимо использовать область видимости блоков. Вы не можете просто присвоить значение свойству events
, вместо этого вы должны использовать функцию events(...)
.
Таким образом, представленный выше код является корректным и полностью решает вашу задачу. Если у вас есть дополнительные вопросы или вам нужно уточнить какие-либо детали, не стесняйтесь спрашивать.