【发布时间】:2022-08-11 03:39:07
【问题描述】:
我不知道我是否遗漏了一些东西,但我找不到任何说明如何像在 JUnit 中那样做一个测试套件的东西。有人能帮我吗?我看到文档提供了分组测试,但是当我从 Gradle 运行时,日志真的很大,而且不是很有用
我不知道我是否遗漏了一些东西,但我找不到任何说明如何像在 JUnit 中那样做一个测试套件的东西。有人能帮我吗?我看到文档提供了分组测试,但是当我从 Gradle 运行时,日志真的很大,而且不是很有用
您可以使用标签对测试进行分组,请参阅https://kotest.io/docs/framework/tags.html。
例如,要按操作系统对测试进行分组,您可以定义以下标签:
object Linux : Tag()
object Windows: Tag()
然后可以使用 config 函数用标签标记测试用例:
import io.kotest.specs.StringSpec
class MyTest : StringSpec() {
init {
"should run on Windows".config(tags = setOf(Windows)) {
// ...
}
"should run on Linux".config(tags = setOf(Linux)) {
// ...
}
"should run on Windows and Linux".config(tags = setOf(Windows, Linux)) {
// ...
}
}
}
然后你可以告诉 Gradle 只运行带有特定标签的测试,见https://kotest.io/docs/framework/tags.html#running-with-tags
示例:要仅运行带有 Linux 标记的测试,而不是带有数据库标记的测试,您可以像这样调用 Gradle:
gradle test -Dkotest.tags="Linux & !Database"
标签也可以通过RuntimeTagExtension 包含/排除在运行时(例如,如果您正在运行项目配置而不是属性):
RuntimeTagExpressionExtension.expression = "Linux & !Database"
【讨论】: