使用SQL数据库在Jhipster中运行测试

时间:2018-01-17 05:33:45

标签: postgresql spring-boot spring-data-jpa jhipster spring-boot-test

我已将test应用程序属性配置为使用Postgresql。所有测试似乎都有效,但这并不完全正确。

当我进行实际的持久性数据测试时,即使运行liquibase,也没有数据保存到postgresql db。

我使用postgresql配置的application.yml的相关部分。

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方法可以说实体Company

我试过了

em.persist(company)
em.flush(company)

companyRepository.saveAndFlush(company)

我错过了让JHipster对正版数据库进行更正测试或者我是否正确地保存数据。

1 个答案:

答案 0 :(得分:0)

如@gaël-marziou所说 默认情况下,JHipster生成的测试被@Transactional注释,因此数据修改将被回滚。 您应该@Commit注释tetMethod以防止rollback