How do I control the order of execution of tests in Maven?

maven, testing

Solution

You can't specify the run order of your tests.

A workaround to do this is to set the runOrder parameter to alphabetical.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <runOrder>alphabetical</runOrder>
    </configuration>
</plugin>

and then you need to have rename your tests to obtain the expected order.

However it isn't a good idea to have dependent tests. Unit tests must be fIrst.

Problem

I need to run tests in order. I fail to find this adequately documented anywhere. I would prefer to do this from command line. Something like ``` mvn -Dtest=test1,test2,test3,test5 test ``` How do I do this?

Original source