我正在使用yo jhipster
生成器的默认配置,除了我使用mysql作为我的“dev”数据库。当我运行mvn test
时,我的测试成功而没有失败。
然而,我发现如果我第二次运行测试,套件会失败,因为它将针对“dev”数据库运行...在上一次测试运行后没有“回滚”或“重置” 。我希望它能够在src/test/resources/config/application.yml
中配置的内存h2数据库中运行,该数据库将在每次运行后重置。
如何使用h2为测试和mysql进行开发来设置我的环境?
由于
答案 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)
...作为
在测试结束时,事务将被回滚并丢弃数据,为下一次测试执行留下新的环境。