Comment puis-je spécifier de test JUnit dépendances?

Notre boîte à outils a plus de 15000 JUnit tests, et de nombreux tests sont connus à l'échec si un autre test échoue. Par exemple, si la méthode X. foo() utilise les fonctionnalités de Y. bar() et YTest.testBar() échoue, alors XTest.testFoo() échouera aussi. Évidemment, XTest.testFoo() peut aussi échouer à cause de problèmes spécifiques à X. foo().

Tout c'est très bien et je veux encore les deux tests, ce serait bien si on peut annoter un test de dépendance avec XTest.testFoo() pointant vers YTest.testBar(). De cette façon, on peut immédiatement voir ce que la fonctionnalité utilisée par X. foo() est également un échec, et ce n'est pas.

Est-il annotation disponibles dans JUnit ou ailleurs? Quelque chose comme:

public XTest {

  @Test
  @DependsOn(method=org.example.tests.YTest#testBar)
  public void testFoo() {
     //Assert.something();
  }

}
  • C'est un vieux thread, cependant: Si X. foo() utilise Y. bar() le test doit(!) maquette Y. bar(), sinon le test n'est pas une unité de test (mais un test d'intégration). L'idée de tests unitaires est de ne pas avoir toutes les dépendances. Cependant, je suis ici pour une raison 😉