1

J'ai sous la même transaction gérée printemps une série de mises à jour comme ci-dessous:Comment simuler une exception lors de la mise à jour pour tester la gestion des transactions de printemps?

someRepositoryA.updateEntityA(...) 
someRepositoryB.updateEntityB(...) 
someRepositoryC.updateEntityC(...) 

Comment puis-je simuler que someRepositoryB.updateEntityB(...) lancers francs une Exception? Cela me permettra de voir que les modifications apportées par A ont été révoquées. Puisque je vais tester la transaction, je ne peux pas me moquer du référentiel, mais j'utiliserai une base de données en mémoire.

+0

qui ne serait pas un test unitaire, n'est-ce pas? – Roxana

+0

Ah je n'ai pas fait attention aux tags :) – JonK

Répondre

0

Je ne simulerais pas une exception, je ferais vraiment quelque chose qui ne va pas. Le moyen le plus simple de tester votre transaction serait de créer un B avec de mauvaises données afin que la mise à jour provoque une violation de l'intégrité référentielle (toutes les contraintes non nulles sinon vous pouvez introduire une valeur de clé primaire invalide), à son tour provoquant une exception à se jeter.

Questions connexes