Я настроил свойства приложения test
для использования Postgresql. Вроде бы все тесты работают, но это не совсем правильно.
Когда я выполняю настоящие постоянные тесты данных, данные не сохраняются в базе данных postgresql, даже если запущена liquibase.
Соответствующий раздел application.yml
, который я настроил с помощью postgresql.
spring:
application:
name: stackoverflow
jackson:
serialization.write_dates_as_timestamps: false
cache:
type: none
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:postgresql://127.0.0.1:5432/store_test?user=postgres
jpa:
database-platform: io.github.jhipster.domain.util.FixedPostgreSQL82Dialect
database: POSTGRESQL
show-sql: false
generate-ddl: false
hibernate:
ddl-auto: none
properties:
hibernate.id.new_generator_mappings: true
hibernate.cache.use_second_level_cache: false
hibernate.cache.use_query_cache: false
hibernate.generate_statistics: true
Как правило, существует метод createEntity
, скажем, для Entity Company
.
я пытался
em.persist(company)
em.flush(company)
также
companyRepository.saveAndFlush(company)
Чего мне не хватает, чтобы заставить JHipster исправить тест с реальной базой данных или если я неправильно сохраняю данные.
@Transactional
, поэтому изменение данных откатывается. - person Gaël Marziou   schedule 17.01.2018.sql
и использовать выполнение SQl в тесте@Sql(executionPhase = ExecutionPhase.BEFORE_TEST_METHOD,scripts = "classpath:importdata.sql")
. Вот как я смог протестироватьnativeQuery
и получить объекты в базе данных. Все остальные тесты не создают объекты в БД (возможно, в памяти?), но они, кажется, проходят. - person Abhishek Dujari   schedule 25.01.2018