JUnit - Exécuter le test dans un ordre particulier
Dans JUnit, vous pouvez utiliser@FixMethodOrder(MethodSorters.NAME_ASCENDING)
pour exécuter les méthodes de test par nom de méthode, dans l'ordre lexicographique.
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)); } }
En sortie, les méthodes de test ci-dessus s'exécuteront dans l'ordre suivant:
test1 test2 testA testB testC
Note
JUnit fournit uniquement le nom de la méthode comme ordre d'exécution, et je pense que l'équipe JUnit n'a pas l'intention de développer d'autres fonctionnalités pour prendre en charge l'ordre d'exécution des tests, car le test unitaire doit être exécuté de manière isolée et en TOUT ordre d'exécution.
Si vous avez vraiment besoin de l'ordre d'exécution du test, essayezTestNG Dependency Test