Je travaille sur un projet utilisant Spring Web Flow 2.0. J'essaie de tester un flux qui commence par un état de décision. L'état de décision vérifie la valeur d'un objet sur le conversationScope
. Je ne peux pas comprendre comment insérer une valeur dans le conversationScope
pour le test unitaire.Spring Web Flow - Comment puis-je configurer un test unitaire avec des valeurs déjà présentes dans conversationScope?
J'ai essayé:
getConversationScope().put("someName", value);
MockExternalContext context = new MockExternalContext();
startFlow(context);
Cependant, il semble que quand je l'appelle startFlow(context)
la valeur est effacée.
J'ai essayé aussi:
MockExternalContext context = new MockExternalContext();
setCurrentState("someDecisionState");
resumeFlow(context)
Mais le test échoue avec une erreur me disant que je ne peux pas reprendre d'un état de décision, que d'un état d'affichage.
Est-ce que quelqu'un sait comment je peux insérer des valeurs fictives sur le conversationScope
afin que je puisse tester ces cas?
Nice, j'essaierai quand j'aurai une chance –
Fonctionne parfaitement, merci! On dirait que le bit clé utilise flowExecution.start (null, context), car l'utilisation de startFlow (context) semble effacer tout ce que vous avez configuré sur votre flowExecution. –
Heureux d'avoir aidé. Oui, la méthode startFlow (contexte) crée une nouvelle FlowExecution dans les coulisses. Avec cet exemple, vous pouvez utiliser votre propre FlowExecution, au prix d'écrire plus de code pour le gérer manuellement. –