Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run tests in a class sequentially in ScalaTest?

I have a class which extends org.scalatest.junit.JUnitSuite. This class has a couple of tests. I do not want these tests to run in parallel.

I know how simple it is with Specs2 (extend the class with Specification and add a single line sequential inside the class) as shown here: How to run specifications sequentially.

I do not want to alter the Build file by setting: parallelExecution in Test := false nor I want to use tags to run specific test files sequentially.

All I want is a way to make sure that all tests inside my class run sequentially. Is this possible with ScalaTest ? Any sample test/template is appreciated.

A quick google search pointed me to this: http://doc.scalatest.org/2.0/index.html#org.scalatest.Sequential

Just for the couple of tests I have, I think it is a total overkill to create StepSuites. I am not completely sure if that's the way to go about with my case!

like image 674
Sudheer Aedama Avatar asked Jul 16 '15 19:07

Sudheer Aedama


People also ask

Does ScalaTest use JUnit?

Also, you can use JUnit if you want to, and import the ScalaTest or the specs2 matchers inside your test cases if you want more expressivity for your assertions.

What is a fixture in ScalaTest?

Regarding to the ScalaTest documentation: A test fixture is composed of the objects and other artifacts (files, sockets, database connections, etc.) tests use to do their work. When multiple tests need to work with the same fixtures, it is important to try and avoid duplicating the fixture code across those tests.

How do I ignore ScalaTest?

When you mark a test class with a tag annotation, ScalaTest will mark each test defined in that class with that tag. Thus, marking the SetSpec in the above example with the @Ignore tag annotation means that both tests in the class will be ignored.


1 Answers

The doc for org.scalatest.ParallelTestExecution says

ScalaTest's normal approach for running suites of tests in parallel is to run different suites in parallel, but the tests of any one suite sequentially.

So it looks like you don't have to do anything to get what you want, if your tests are in a single suite.

like image 55
Joe Pallas Avatar answered Nov 15 '22 23:11

Joe Pallas