问题标签 [kotest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6124 浏览

kotlin - How to write beforeEach and beforeClass in kotlintest

Given is the example from kotlin-test github docs, but i don't see beforeEach or beforeClass concept here. I want to understand,

  • How to execute a code/method once before every test
  • How to execute a code/method once before every test class
0 投票
0 回答
263 浏览

android - Kotest 在 testDebugUnitTest 任务迁移到 4.0.0-BETA1 后冻结

我已经io.kotlintest用新的io.kotest依赖替换了旧的并将它导入到所有的测试中。它们在单独运行时通过,但 gradle 任务gradlew test冻结在testDebugUnitTest任务上。

如果我test在调试模式下运行 gradle 任务,代码MessageHub会在 Gradle (v5.4.1) 库中的类上停止。所以它看起来像多线程问题(因为测试只在一个线程上运行)。

我创建了 cutsom ProjectComfig 对象:

但是 gradle 任务仍然使用 1 个线程运行。/src/test/kotlin/io/kotest/provided我已经在模块目录中添加了这个包。

PS 我无法使用或创建kotest标签,因为我没有 1500 声望。:-(

0 投票
1 回答
3047 浏览

unit-testing - 如何使用 kotest/kotlintest 在上下文中运行单个测试

我有以下测试套件:

我尝试在 IntelliJ Idea 中执行它。不幸的是,它在套件中执行这两个测试。如果我不将测试嵌套在context().

0 投票
1 回答
1250 浏览

android - Kotest(以前的 KotlinTest)是否仍然在 Android Studio 中工作?

据我所知,Kotest 需要 JUnit 5:

https://github.com/kotest/kotest/issues/1104

它还需要 Gradle 6:

https://github.com/kotest/kotest/issues/1301

我认为这一切都可以设置并正常工作,但 JUnit 5 和 Gradle 6 不是真的不支持 Android 开发吗?我担心,即使我现在一切正常,我也可能会遇到问题。

0 投票
0 回答
631 浏览

gradle - 如何在 LibGdx 项目中使用 Gradle 配置 KoTest?当前无法构建,因为无法识别 StringSpec

我有一个由 LibGdx 工具设置的标准 LibGdx 项目,仅针对桌面。它使用 Gradle (Groovy DSL) 来管理依赖项和任务。我已将核心模块转换为 Kotlin,并尝试使用 Kotest 添加 Kotlin 测试模块。

我在他们的 GitHub 上遵循了 Gradle 的 Kotest 说明,但编译失败,因为StringSpec没有重新识别(Unresolved reference: StringSpec)。我认为 LibGdx 的默认 Gradle 设置可能有点过时或使用较旧的语法/结构,并且可能与 Kotest 针对较新版本的 Gradle 的说明相冲突?

现在我已经删除了任何测试,只是试图让它识别StringSpec和编译。我什至还没有达到让 IntelliJ 识别和运行测试的阶段。这是我到目前为止所拥有的:

core.tests/tests/com/me/game/AcceptanceTests.kt

core.tests/gradle.build

./build.gradle(即根构建文件)

设置.gradle

Gradle-wrapper.properties

我没有太多的JVM经验,所以我有点茫然。希望我错过了一些对更了解 Gradle 的人来说显而易见的东西。有任何想法吗?

0 投票
2 回答
121 浏览

kotest - 在类级别或容器级别设置标签

使用.config我们可以按这里解释的标签对测试进行分组:链接 示例:

据我所知,无法在更高级别设置标签,例如以下内容无法编译:

如何在类和/或容器级别对测试进行分组,而无需.config对每个测试都重复进行?

0 投票
0 回答
429 浏览

kotlin - 使用公开框架为 Kotlin 测试用例创建全局数据库架构

我是Kotlin 公开框架的新手。我正在寻找的是在H2数据库中拥有一个全局数据库模式 - jdbc:h2:mem:test 用于我的测试用例。

在我的应用程序中,我使用的是 mysql。我只想将 H2 用于测试。

下面是我的代码片段供参考。

在这里,每次我必须为每个测试用例编写 - createTable。有没有一种方法可以让我在全局范围内定义这个模式,并且可以为每个测试用例摆脱这部分。

0 投票
3 回答
971 浏览

intellij-plugin - 如何从 github 存储库安装用于 intellij 的 Kotest 插件?

我有这个 repo 但不知道如何实际使用它。只做了一个 git clone 但下一步是什么? https://github.com/kotest/kotest-intellij-plugin

0 投票
1 回答
2232 浏览

kotlin - Kotlin Flow:测试挂起

我正在尝试使用 Flows 测试 Kotlin 实现。我使用 Kotest 进行测试。此代码有效:

视图模型:

测试:

但是,在真正的 ViewModel 中我需要向流中添加值,所以我使用ConflatedBroadcastChannel如下:

然后在测试中我尝试:

测试只是挂起并且永远不会完成。我尝试了各种各样的事情:launch或者runBlockingTest代替runBlocking,将发送和收集放在相同或单独的协同程序中,offer而不是send......似乎没有什么可以解决它。我究竟做错了什么?

更新:如果我手动创建流程,它可以工作:

那么,这是asFlow()方法中的错误吗?

0 投票
2 回答
997 浏览

kotlin - describe 子句中的 kotest 嵌套规范

我已经开始使用 kotest:4.0.5 (kotlintest) 并且遇到了stringSpec嵌套在 describe子句中的函数问题。

例子:

If include(emailValidation())is outsidedescribe子句然后正确工作。

您知道如何在子句中嵌套规范/功能吗?