问题标签 [kotlintest]

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 投票
1 回答
673 浏览

kotlin - kotlin-test vs kotlin-test-junit

我有一个编译为 java 的 kotlin 项目。我的测试库是junit。我使用 maven 作为我的依赖管理和 Intellij IDEA。最近我在我的 pom 中收到了那个奇怪的警告。

检查信息:如果您有 kotlin-test 和 junit 依赖项,那么很可能您最好包含 kotlin-test-junit 而不仅仅是 kotlin-test

kotlin-test 和 kotlin-test-junit 有什么区别?

从我读到的似乎没有弃用 kotlin-test,那么为什么 intellij 推荐 kotlin-test-junit 而不是 kotlin-test?

在此处输入图像描述

0 投票
3 回答
1690 浏览

kotlin - Intellij 显示 build.gradle.kts 中的每一行都是红色的

我从 VCS(Kotlin 和 Gradle)创建了一个新项目。我testImplementation()build.gradle.kts. IntelliJ 没有接受更改,所以我做了File -> Invalidate caches / Restart,现在 Intellij 将每个implementation()呼叫和每个testImplementation()呼叫都显示为红色。事实上,每个模块中每个 build.gradle.kts 中的每一行都是红色的。

Intellij 已经失去理智了。当谈到 Gradle 中的 kotlintest 时,我该怎么做才能恢复 IntelliJ 的智能?

0 投票
0 回答
130 浏览

android - Gradle:没有找到 Kotlin 的测试(Cucumber+e​​spresso)

com.android.build.gradle.internal.testing.ConnectedDevice > 未找到测试。[Nexus_6P_API_30(AVD) - 11] FAILED 未找到测试。这通常意味着您的测试类不是您的测试运行程序所期望的形式(例如,不要从 TestCase 继承或缺少 @Test 注释)。

使用的依赖项://黄瓜的依赖项

0 投票
0 回答
361 浏览

kotlin - Kotest 无法在 IntelliJ 中正确运行

我正在使用 Gradle 和 IntelliJ 中的 Kotest 来测试一个新项目;

这些是我在 gradle 构建文件中的版本配置:

我的依赖:

和插件:

这一切都可以在 Gradle 中正常工作。但是我有来自 IntelliJ 的奇怪行为。我的 IntelliJ 版本是IntelliJ IDEA 2021.1.2 (Ultimate Edition). 插件是kotest-plugin-intellij (1.1.36-IC-2021.1).

所以我的行为是,从我可以按下运行图标的方法的测试类中,它会开始一个测试(或者至少看起来像)但是仅仅一秒钟后它已经成功完成但没有测试被执行。例如,一个简单的测试用例是这个(测试类 extends WordSpec):

我没有看到这两个Ping和下一个Basic ping test都执行了,我只能看到它Ping已经成功执行,真正的测试从未跟随。即使我故意让测试失败,Gradle 也会失败,但 IntelliJ 会告诉我一切都很好......

但是,如果我尝试运行整个程序包,它确实可以工作。所以右键单击包,然后运行,然后我选择带有Kotest绿色标志的选项,然后测试都开始执行,也是我上面粘贴的那个。

我能做些什么来解决这个问题?这是版本不匹配(但是我是最新的)?我也尝试降级,但这变得一团糟,因为我必须降级 Gradle 版本、Kotlin 版本和 Gradle 插件版本......然后根据配置,在尝试从 Gradle 构建时开始出现其他异常错误......

0 投票
0 回答
42 浏览

kotlin - Kotlin TestCoroutineDispatcher 在 yield() 之后挂在 cancelAndJoin()

我的代码基本上如下:

当我使用 dispatcher = Dispatchers.IO 或 Dispatchers.Default 运行上述程序时,它工作正常。但是,设置 dispatcher = TestCoroutineDispatchers 只是挂在 cancelAndJoin() 上。

我怀疑这与 TestCoroutineDispatcher 在处理 yield() 时的行为有关。据此 yield() 只有在 runCurrent() 被调用时才会恢复。但是鉴于我的代码结构,我不确定在哪里调用 runCurrent(),或者它是否是正确的方法。

0 投票
1 回答
71 浏览

kotlin - 在 kotest 中使用 ThreadLocal Webdriver 进行并行执行

如何在 kotest 中使用 ThreadLocal Webdriver 进行并行浏览器执行?不知何故,我相信 kotlin 协程搞砸了。

0 投票
0 回答
65 浏览

android - Kotlin 测试:不能使用提供的参数调用以下函数

所以我有一个标题中提到的错误。由于我是测试新手,我决定按照教程来测试我的代码。

我的目标是查看列表中是否有项目。

这是我的代码:

也许我使用了错误的方法来测试 Flow<List> 类型的数组。我试图找到一个与我试图实现的目标或解决方案相似的教程,但我没有找到。

0 投票
0 回答
151 浏览

android - 收到一个完成的测试用未知 id 的事件...注册的测试 id...?

我在 Android Studio 中创建了一个全新的项目。以下是软件信息:

以下是应用程序的build.gradle文件的内容:

这是我编写的单元测试:

如您所见,这非常简单。但是,这是我尝试执行这些测试时收到的错误:

我试图遵循此处提供的建议,但没有成功。

有没有人有任何其他聪明的想法来排除故障并可能解决这个问题?或者我应该将此报告给 JUnit / Gradle?

0 投票
2 回答
450 浏览

kotlin-coroutines - Kotest 和 kotlinx-coroutines-test 集成

我在 kotest 中使用了 Funspec 测试风格,我得到了一个由框架自动注入的 coroutineScope,如下所示。

如何配置 Kotest 框架以在我的测试中使用实例kotlinx.coroutines.test.TestCoroutineScope而不是 a kotlinx.coroutines.CoroutineScope?或者有没有理由为什么这没有意义?

0 投票
3 回答
131 浏览

kotlin - 断言每个对象属性都匹配 kotlin 测试中的给定谓词

我有一个对象集合:

我想测试每个项目是否匹配给定的字段谓词。

是否有任何断言kotlintest assertions可以让我这样做?

就像是: