I currently encounter issues trying to get micronaut-data to work with transactions.
To the best of my understanding, a flow of:
Should yield an unmodified database, i.e. the transaction should be rolled back.
I created a minimal example using micronaut-web start, a simple entity, repository and a test with different attempts of using @Transactional, SynchronousTransactionManager etc, but in all cases, the database modification is visible after the transaction. The minimal example can be found here: https://github.com/Spellmaker/transactiontestgradle/
The direct link to the test class: https://github.com/Spellmaker/transactiontestgradle/blob/master/src/test/kotlin/com/example/TransactiontestgradleTest.kt
Obviously, something must be wrong with the configuration or my understanding of transactions. So which one is it?
As answered on gitter, @MicronautTest starts a transaction for each test and manages that. To test transactions in a test, this behavior has to be disabled manually via
@MicronautTest(transactional=false)
2.1m questions
2.1m answers
60 comments
57.0k users