Почему у меня не работает аннотация @PreRemove?

115
04 октября 2019, 22:40

Пишу интеграционные тесты для сервисов с базой в памяти (h2). Сервисы не содержат никакой логики и просто вызывают аналогичные методы у ДАО. Также на сервисах стоят аннотации @Transactional (на уровне классов). Методы для чтения в сервисах помечены аннотациями @Transactional(readOnly = true). Сейчас тестирую сервис для работы со справочником. Сама сущность справочника помечена аннотациями: @Entity, @Immutable, @EntityListeners(PreventAnyUpdate.class).

public class PreventAnyUpdate {
    @PrePersist
    void onPrePersist(Object o) {
        throw new RuntimeException("Can't create Entity!");
    }
    @PreRemove
    void onPreRemove(Object o) {
        throw new RuntimeException("Can't delete Entity");
    }
}

Все тесты проходят, кроме тестов для delete(). Должен выбрасывать исключение, но не выбрасывает, а всё нормально удаляет (что вообще не должен делать). Что не так?

READ ALSO
stream стал доступен на Android api 21?

stream стал доступен на Android api 21?

У меня minSdkVersion == 21

130
Winium кликает на неправильный элемент

Winium кликает на неправильный элемент

Всем привет, я пытаюсь использовать Winium для автоматизации Java тестов для десктоп приложенияЛокаторы подбираю с помощью тулы UiSpy, пытаюсь найти...

91
вызов метода внутри одного класса

вызов метода внутри одного класса

есть два метода в одном классе, первый ищет минимальное и максимальное значение в массиве public void min_max() , во втором нужно вызвать первый метод...

100