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

时间:2014-06-11 16:45:57

标签: database maven spring-data h2 jhipster

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

然而,我发现如果我第二次运行测试,套件会失败,因为它将针对“dev”数据库运行...在上一次测试运行后没有“回滚”或“重置” 。我希望它能够在src/test/resources/config/application.yml中配置的内存h2数据库中运行,该数据库将在每次运行后重置。

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

由于

1 个答案:

答案 0 :(得分:1)

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

然后我必须做两件事:

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

2)在我的测试中使用@ActiveProfiles("test")代替@ActiveProfiles("dev")

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

注意:通过使用以下方法注释我的测试类,我在连续测试运行中也取得了一些成功而没有创建新的配置文件:

@Transactional
@TransactionConfiguration(defaultRollback = true)

...作为

  

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

请参阅https://spring.io/guides/tutorials/data/3/