J'ai un test JUnit4 qui étend AbstractTransactionalJUnit4SpringContextTests. J'ai un objet métier que j'ai marqué comme unité de travail avec @Transactional. L'unité de travail met à jour la base de données qu'un utilisateur a été averti & puis tente de leur envoyer un message de notification. J'ai configuré la méthode à restaurer pour une MailException (api de courrier simple de printemps) et mocké un MailSender pour lancer une SendMailException quand il est appelé pour valider la fonctionnalité d'annulation. Dans mon test d'unité, cependant, la transaction n'est pas annulée. J'essaie de déterminer si elle participe à la transaction en cours d'ouverture pour ma méthode de test, car la méthode de test ne l'est pas. pas commettre ou annulé. La méthode qui représente une unité de travail est configurée pour requérir une nouvelle transaction, et j'ai essayé de configurer deux gestionnaires de transactions dans spring config et de spécifier que le cas de test utilise le deuxième gestionnaire de transactions. Peu importe, quand je vérifie les données dans la méthode de test unitaire, elle reste modifiée même si elle aurait dû être annulée par le code d'application rencontrant l'exception d'envoi de courrier.Test d'intégration qui simule la condition Exceptional/Rollback avec AbstractTransactionalJUnit4SpringContextTests
un aperçu serait génial.