如何以编程方式执行 Scala 测试

How to execute scala tests programmatically

我正在寻找一种以编程方式执行 Scala 测试(在 munit 中实现,但也可以是 ScalaTest)的方法。我想或多或少地执行 sbt test 在我自己的 scala 代码中开箱即用的功能,而不需要 运行 sbt(专注于测试发现和执行并取回报告) .

我有这样的想法:

object Test extends App {
   val tests = TestDiscovery.discover("package.that.has.tests")
   val reports = tests.foreach(test => test.execute())
   // do something with the reports, maybe print to console
}

是否有与此相关的文档?

Scala 测试有 execute() and run().
为了了解所有参数的影响,值得查看 Scala Test shell as well