只运行一个包测试用例scala

ARY*_*RYA 2 scala sbt scalatest

我的包结构为:


    src ->  test -> scala -> notification

Run Code Online (Sandbox Code Playgroud)

内部通知我有两个包单元和集成。

单元包有单元测试,集成包有集成测试。我只想执行单元测试用例。我有没有办法只能通过 sbt 测试来做到这一点?

对于一节课,我知道可以这样做:我已经尝试过一节课,但不知道如何为 pacakge 做到这一点。

sbt "test:testOnly *LoginServiceSpec"

Run Code Online (Sandbox Code Playgroud)

Mat*_*zok 6

testOnly允许您使用通配符运行使用*。所以如果你所有的测试都在包命名空间中,x你可以调用

> testOnly x.*
Run Code Online (Sandbox Code Playgroud)

这个通配符可以放在任何地方,所以如果你有一个子包x,但是你所有的测试都以例如Spec你可以运行

> testOnly x.*Spec
Run Code Online (Sandbox Code Playgroud)

但是,如果您使用集成测试,我建议为它们创建一个单独的配置,以便您运行:

> test
Run Code Online (Sandbox Code Playgroud)

用于单元测试和

> it:test
Run Code Online (Sandbox Code Playgroud)

用于集成测试。然后你会把它们放进去src/it/scala。目录。