Order
The OrderAttribute may be placed on a test method or fixture to specify the order in which tests are run within the
fixture or other suite in which they are contained. Ordering is given by the required order
argument to the attribute,
an int
.
Example
The following tests will be run in the order:
- TestA
- TestB
- TestC
public class MyFixture
{
[Test, Order(1)]
public void TestA() { /* ... */ }
[Test, Order(2)]
public void TestB() { /* ... */ }
[Test]
public void TestC() { /* ... */ }
}
Notes
- As stated, ordering is local to the test that contains the ordered tests. For test cases (methods) ordering applies within the containing fixture. For fixtures it applies within the containing namespace. There is no facility in NUnit to order tests globally.
- Tests with an
OrderAttribute
argument are started before any tests without the attribute. - Ordered tests are started in ascending order of the
order
argument. - Among tests with the same
order
value or without the attribute, execution order is indeterminate. - Tests do not wait for prior tests to finish. If multiple threads are in use, a test may be started while some earlier tests are still being run.