Run only one package test cases scala

Viewed 342

I have the package structure as:


    src ->  test -> scala -> notification

Inside notification i have two packages unit and integration.

unit package has the unit tests and integration package has integration tests. I want to execute only the unit test cases. Is there i way i can do it by sbt test only?

for one class, i know it can be done like this: I have tried for the one class but do not know how to do it for a pacakge.

sbt "test:testOnly *LoginServiceSpec"

2 Answers

testOnly allows you to run wildcards using *. So if all your tests are in package namespace x you can call

> testOnly x.*

This wildcard can be put everythere, so if you have a subpackage in x, but all your tests end with e.g. Spec you could run

> testOnly x.*Spec

However if you are using integration test I recommend creating a separate configuration for them so that you would run:

> test

for unit tests and

> it:test

for integration test. Then you would put them in src/it/scala. directory.

Try this

sbt "test:testOnly notification.unit.*"
Related