Отключить @CreationTimestamp в классе тестирования - PullRequest
0 голосов
/ 31 октября 2019

Поэтому я использую аннотации Hibernate @CreationTimestamp и @UpdateTimestamp. Это работает нормально, но у меня есть этот случай при модульном тестировании, где мне нужно создавать объекты в определенные даты.

Я думаю, что невозможно деактивировать эти аннотации, поэтому первое, что я подумал, это удалил их и сделал что-то вроде этого:

@PrePersist
public void prePersist() {
    if (createdDate == null) {
        createdDate = new Date();
    }
}

Мне это не нравится, потому что яМне нужно будет сделать рефакторинг моих сущностей только для одного теста.

Другое решение, которое я думаю, может быть лучше, - это создать файл sql с нужными мне данными и выполнить его с Spring раньше при запускемои тесты.

Какой, по вашему мнению, лучший способ сделать это?

1 Ответ

0 голосов
/ 31 октября 2019

Не меняйте свой производственный код только для теста. Просто измените атрибут даты создания на ваших тестовых объектах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...