Котест зависает после перехода на 4.0.0-BETA1 в задаче testDebugUnitTest - PullRequest
1 голос
/ 22 февраля 2020

Я заменил старую io.kotlintest новой зависимостью io.kotest и импортировал ее во все тесты. Они проходят, когда запускаются индивидуально, но задача gradle gradlew test зависает на задаче testDebugUnitTest.

> Task :myAppModule:testDebugUnitTest
Gradle Test Executor 1 -> ~~~ Kotest Configuration ~~~

Gradle Test Executor 1 -> -> Parallelism: 1 thread(s)

Gradle Test Executor 1 -> -> Default test timeout: 600000ms

Gradle Test Executor 1 -> -> Default test order: TestCaseOrder

Gradle Test Executor 1 -> -> Default isolation mode: IsolationMode

Gradle Test Executor 1 -> -> Global soft assertations: False

Gradle Test Executor 1 -> -> Write spec failure file: False

Gradle Test Executor 1 -> -> Fail on ignored tests: False

Gradle Test Executor 1 -> -> Spec execution order:     LexicographicSpecExecutionOrder

Gradle Test Executor 1 -> -> Extensions

Gradle Test Executor 1 ->   - io.kotest.core.extensions.SystemPropertyTagExtension

Gradle Test Executor 1 ->   - io.kotest.core.extensions.RuntimeTagExtension

Gradle Test Executor 1 -> 

Если я запускаю задачу gradle test в режиме отладки, код останавливается на классе MessageHub в Gradle (v5.4.1) библиотека. Таким образом, это выглядит как проблема многопоточности (поскольку тест выполняется только в одном потоке).

Я создал объект ProjectSomfig cutsom:

package io.kotest.provided

import io.kotest.core.config.AbstractProjectConfig

object ProjectConfig : AbstractProjectConfig() {

    private var started: Long = 0

    override fun beforeAll() {
        started = System.currentTimeMillis()
    }

    override fun afterAll() {
        val time = System.currentTimeMillis() - started
        println("overall time [ms]: $time")
    }

    override val parallelism: Int = 4
 }

Но задача gradle по-прежнему выполняется с 1 потоком. Я добавил этот пакет в каталог модуля /src/test/kotlin/io/kotest/provided.

PS Я не могу использовать или создать тег kotest, потому что у меня нет 1500 репутации. : - (

...