Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何使用kotest/kotlintest在上下文中运行单个测试_Unit Testing_Kotlin_Intellij Idea_Kotlintest_Kotest - Fatal编程技术网

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

Unit testing 如何使用kotest/kotlintest在上下文中运行单个测试,unit-testing,kotlin,intellij-idea,kotlintest,kotest,Unit Testing,Kotlin,Intellij Idea,Kotlintest,Kotest,我有以下测试套件: class FooTest : FunSpec() { init { context("a context") { test("first test") { true shouldBe false } test("f:second test") { true

我有以下测试套件:

class FooTest : FunSpec() {
    init {
        context("a context") {
            test("first test") {
                true shouldBe false
            }

            test("f:second test") {
                true shouldBe true
            }
        }
    }
}
我试着用IntelliJ Idea执行它。不幸的是,它在套件中执行这两个测试。如果我不将测试嵌套在
context()

中,那么它工作得很好。有一个提供运行单个测试的功能和许多其他功能的


使用此插件,如果单击第3行(上下文)上的run/play图标,它将运行上下文+嵌套测试。如果在第4行或第8行单击“运行”,它将运行上下文+您单击的测试。按照

的规定,Focus在嵌套测试上不起作用,我也在努力解决这个问题。似乎聚焦只适用于顶级测试用例。您可以做的是尝试使用感叹号“!”来标记其他测试用例。要使用该插件,请安装kotest/kotlintelist IntelliJ插件。并使用此插件运行测试。如果您正在使用gradle构建项目,请切换到IntelliJ test runner。可以通过在“构建、执行、部署>构建工具>渐变”下编辑IntelliJ设置来完成。在我的博客文章中有更多关于这一点的内容:kotest intellij插件现在非常强大,你可以试试,它可以做你想做的。我今天尝试了v4.3.2,但它仍然同时执行这两个版本。如果你点击第3行(上下文)上的运行图标,它将运行上下文+嵌套测试。如果在第4行或第8行单击“运行”,它将运行上下文+您单击的测试。Focus不适用于文档中的嵌套测试。容器中的Focus测试是否因为技术上太困难而被忽略,或者我们是否可以在未来的版本中预期这一点?因为我不能使用IntelliJ插件来运行测试。虽然我使用IntelliJ,但我的程序运行在复杂的Docker设置中,IntelliJ的Docker插件缺乏运行它的可配置性;这意味着我不能使用像排水沟图标这样的东西进行测试。