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插件缺乏运行它的可配置性;这意味着我不能使用像排水沟图标这样的东西进行测试。