JUnit - запускать тест в определенном порядке
В JUnit вы можете использовать@FixMethodOrder(MethodSorters.NAME_ASCENDING)
для запуска методов тестирования по имени метода в лексикографическом порядке.
P.S Tested with JUnit 4.12
ExecutionOrderTest.java
package com.example; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; //Sorts by method name @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class ExecutionOrderTest { @Test public void testB() { assertThat(1 + 1, is(2)); } @Test public void test1() { assertThat(1 + 1, is(2)); } @Test public void testA() { assertThat(1 + 1, is(2)); } @Test public void test2() { assertThat(1 + 1, is(2)); } @Test public void testC() { assertThat(1 + 1, is(2)); } }
На выходе вышеуказанные методы тестирования будут выполняться в следующем порядке:
test1 test2 testA testB testC
Note
JUnit предоставляет только имя метода в качестве порядка выполнения, и я думаю, что команда JUnit не планирует разрабатывать другие функции для поддержки порядка выполнения теста, потому что модульный тест должен выполняться изолированно и в ЛЮБОЙ порядок исполнения.
Если вам действительно нужен порядок выполнения теста, попробуйтеTestNG Dependency Test