android - Kotest 在 testDebugUnitTest 任务迁移到 4.0.0-BETA1 后冻结
问题描述
我已经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 ->
如果我test
在调试模式下运行 gradle 任务,代码MessageHub
会在 Gradle (v5.4.1) 库中的类上停止。所以它看起来像多线程问题(因为测试只在一个线程上运行)。
我创建了 cutsom ProjectComfig 对象:
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 声望。:-(
解决方案
推荐阅读
- python - 如何在 Django 中的每个密码验证帮助文本中显示翻译?
- javascript - 用多种方法修改字符串的更好方法?
- swift - 如何快速访问firebase字段?
- python - Python 在 RStudio 中找不到 TensorFlow 或 Keras
- node.js - 如何在猫鼬中存储关联的对象数组
- kubernetes - Kubernetes Pod Horizontal Autoscaler pod 和对象选择器字段是字符串吗?
- python - 使用 try 和 except 创建复杂形式的字典
- angular - 为什么我在 Angular 中的登录表单未经过验证且未显示错误消息?
- docker - 使用无服务器和 DynamoDB 对 Flask REST API 进行 Dockerize
- yarnpkg - 如何判断项目是否使用 Yarn