У меня есть класс API, помеченный @Transactional
, как показано.Некоторое подмножество методов дополнительно обозначено readOnly=true
.При написании тестов есть ли способ проверить количество транзакций, которые действительно имеют место?Подумайте, если реализация метода delete
называется методом exist
, то при тестовом вызове delete
должна произойти только одна транзакция.Однако, если сам тест вызывает метод exist
перед вызовом delete
, тогда должно произойти 2 транзакции.
@Transactional
public class AnApi {
public AnEntity create(EntityData data) {...}
public void delete(Long id) {...}
@Transactional(readOnly = true)
public boolean exists(Long id) {...}
}
Хотя я знаю, что фреймворк работает таким образом, предпочтительно ставить тестыобнаруживать любые будущие изменения и избегать потенциальных сюрпризов.