Я предполагаю, что есть другой подход без AOP, который действительно проверяет, что ничего не записано в БД:
Если у вас есть тест, который проверяет (если нет исключения)транзакция фиксируется, и объект записывается в БД, тогда вам нужен только простой второй тест.
В этом тесте вы должны сделать то же самое, но с исключением.И тогда вы должны только убедиться, что запись записана в БД.Таким образом, вам не нужен AOP Stuff, и ваш тест становится более значимым, потому что в итоге он проверяет то, что вы действительно хотите.( Надеюсь, я правильно понимаю, что возвращение роли - это всего лишь техника, запрещающая изменение базы данных. )