在sbt中的ScalaTest:是否有一种方法可以直接运行单个测试而不需要标签?

11 浏览
0 Comments

在sbt中的ScalaTest:是否有一种方法可以直接运行单个测试而不需要标签?

我知道可以通过在sbt中运行单个测试来运行测试:

testOnly *class -- -n Tag

有没有办法告诉sbt/scalatest运行没有标签的单个测试?例如:

testOnly *class -- -X 2

它的意思是“运行类中的第二个测试,无论它是什么”。我们有一堆测试,没有人费心去标记它们,所以有没有一种方法可以运行没有标签的单个测试?

admin 更改状态以发布 2023年5月23日
0
0 Comments

我想要给其他答案加一个具体的例子

你需要指定你想要测试的类的名称,所以如果你有以下的项目(这是一个Play项目):

Play Project

你可以通过从SBT控制台运行以下命令来测试仅且只有Login测试:

test:testOnly *LoginServiceSpec

如果你是从SBT控制台外运行该命令,你需要执行以下操作:

sbt "test:testOnly *LoginServiceSpec"

0
0 Comments

从ScalaTest 2.1.3开始,交互模式下支持以下内容:

testOnly *MySuite -- -z foo

只运行测试名称中包含子字符串“foo”的测试。

要进行精确匹配而不是子字符串,请使用-t而不是-z


如果从命令行运行,则应作为sbt的单个参数:

sbt 'testOnly *MySuite -- -z foo'

0