【问题标题】:How can I setup my environment to use h2 for tests and mysql for development?如何设置我的环境以使用 h2 进行测试和使用 mysql 进行开发?
【发布时间】:2014-08-01 19:51:42
【问题描述】:

我使用yo jhipster 生成器的默认配置,除了我使用mysql 作为我的“开发”数据库。当我运行 mvn test 时,我的测试成功且没有失败。

但是,我发现如果我再次运行测试,套件会失败,因为它会针对“dev”数据库运行...在上一次测试运行后没有“回滚”或“重置” .我宁愿期望它针对src/test/resources/config/application.yml 中配置的内存中 h2 数据库运行,每次运行后都会重置。

如何设置我的环境,使用 h2 进行测试,使用 mysql 进行开发?

谢谢

【问题讨论】:

    标签: database maven spring-data h2 jhipster


    【解决方案1】:

    我不确定这是否是解决此问题的“正确”方法,但我能够通过创建一个新的配置文件“测试”让我的测试通过重复运行。

    然后我必须做两件事:

    1) 将 src/test/resources/config/application.yml 中的 spring.profile 更改为“test”而不是“dev”(使测试 application.yml 与 dev 不同)

    2) 在我的测试中使用@ActiveProfiles("test") 而不是@ActiveProfiles("dev")

    测试 application.yml 使用 h2 数据库,并根据需要在运行之间重置。

    注意:我在连续测试运行中也取得了一些成功,而无需通过注释我的测试类来创建新配置文件:

    @Transactional
    @TransactionConfiguration(defaultRollback = true)
    

    作为...

    在测试结束时,事务将回滚并丢弃数据,为下一个测试执行留下新的环境。

    https://spring.io/guides/tutorials/data/3/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 2019-06-27
      • 2019-04-01
      • 1970-01-01
      • 2011-12-31
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多