kotlin 如何使用IntelliJ IDEA过滤Kotest测试

ee7vknir  于 2023-02-05  发布在  Kotlin
关注(0)|答案(1)|浏览(125)

我只想在本地执行一个特定的测试子集,以排除运行缓慢的集成测试,所以只应该包括后缀为*Test的测试,而那些以*IT结尾的测试应该被排除。
Kotest官方指南通过名为conditional evaluation的功能提供了命令行参数,但该指南仅提到Gradle。如何在Maven或IntelliJ中使用条件求值?

fumotvh3

fumotvh31#

我刚刚发现您必须在运行配置中添加一个VM选项...首先,我必须单击Modify options,然后单击Add VM optionsAlt+V热键)。

在VM选项中,我必须添加-Dkotest.filter.specs=*Test(没有单引号或双引号)。如果我添加单引号(如参考文档中所述),它就不起作用,尽管我使用的是Windows 10。

文档有点误导,VM参数-Dkotest.filter.tests是基于ShouldSpecshould()成员函数的name参数进行过滤的。
因此,配置-Dkotest.filter.tests=*dummy*将在should() {...}内执行以下测试用例:

class DoesNothingTest: ShouldSpec({
    should("do some dummy things") {
        ...
    }
})

相关问题