N'Printemps @DirtiesContext recharger Printemps contexte?

J'ai une classe de test qui ressemble à

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/test-context.xml"})
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public abstract class TestClass {
  @Rule @Resource public JUnitRuleMockery jMockContext;

  public void test1() {
    //Expectations and test
  }
  public void test2() {
    //Expectations and test
  }
}

et dans test-context.xml - je définir le JUnitRuleMockery, en plus de plusieurs objets fantaisie grâce à un factory-method, comme

<bean id="mockContextFactory" class="MockContextFactory" />

<bean id="jMockContext" factory-bean="mockContextFactory" factory-method="getContext" scope="prototype" />

<bean id="firstMock" factory-bean="mockContextFactory" factory-method="getFirstMock" />

<bean id="secondMock" factory-bean="mockContextFactory" factory-method="getSecondMock" />

MockContextFactory est

public class MockContextFactory
{
  private JUnitRuleMockery jUnitRuleMockery;

  public MockContextFactory() {
    jUnitRuleMockery = new JUnitRuleMockery();
    jUnitRuleMockery.setThreadingPolicy(new Synchroniser());
  }

  public JUnitRuleMockery getContext() {
    return jUnitRuleMockery;
  }

  public FirstMock getFirstMock() {
    return jUnitRuleMockery.mock(FirstMock.class);
  }
  //others getter
}

Dans TestClass j'ai plusieurs méthodes d'essai et, en raison des annotations @DirtiesContext, j'attends le Printemps contexte pour être rechargé après chaque exécution du test (puisque chaque test établit les attentes sur les objets fantaisie, je dois recharger Printemps contexte à chaque fois). Voir @DirtiesContext à partir d'ici. Cependant, il semble que le Printemps contexte n'est pas rechargé: en fait, en entrant dans le mode de débogage au début de test2 (soi-disant test1 a été exécuté plus tôt), je peux voir jMockContext tenant toujours les attentes, la liste d'exécution et les erreurs (le cas échéant) de test1.
Donc, pour finir avec quelques questions, est-ce @DirtiesContext vraiment causer Printemps contexte pour être rechargé (comme je l'ai compris dès le Printemps Docs) ou ai-je mal compris le annotation? Dans le premier cas, ce que je fais mal? Dans ce dernier cas, comment puis-je forcer le Printemps contexte pour être rechargé pour chaque test?

MODIFIER, de délimiter le problème: j'ai eu un code comme l'exemple ci-dessus, l'exécution de quelques jours, alors aujourd'hui j'ai créé un nouveau test dans lequel j'ai ajouté une attente qui a échoué. Ensuite, j'ai vu tous les autres tests dans la classe de défaut pour la même raison (alors qu'ils où green jusqu'à aujourd'hui). Le débogage, j'ai découvert que jMockContext n'a jamais été effacé, ce qui signifie que tous les tests ont été l'ajout d'attentes pour le même pool: bien sûr, tant qu'aucun échec de l'attente, qui a été transparent et je n'ai pas remarqué (test1 ajoute et passe peu d'attentes, test2 prend un non-vide de piscine de attentes DÉJÀ passé et ajoute sa propre donc il n'y a pas de problème), mais je n'aime pas la situation précédente, et je voudrais commencer chaque test sans précédent de définir les attentes à tous.

OriginalL'auteur ThanksForAllTheFish | 2014-01-20