Database 如何设置我的环境以使用h2进行测试,使用mysql进行开发?
我使用的是Database 如何设置我的环境以使用h2进行测试,使用mysql进行开发?,database,maven,spring-data,h2,jhipster,Database,Maven,Spring Data,H2,Jhipster,我使用的是yojhipster生成器的默认配置,除了我使用mysql作为我的“dev”数据库。当我运行mvn测试时我的测试成功,没有失败 但是,我发现,如果我再次运行测试,套件将失败,因为它将针对“dev”数据库运行…在上一次测试运行后,该数据库不会“回滚”或“重置”。我更希望它运行在src/test/resources/config/application.yml中配置的内存中h2数据库上,每次运行后都会重置该数据库 如何使用h2进行测试,使用mysql进行开发 谢谢我不确定这是否是解决这个问
yojhipster
生成器的默认配置,除了我使用mysql作为我的“dev”数据库。当我运行mvn测试时
我的测试成功,没有失败
但是,我发现,如果我再次运行测试,套件将失败,因为它将针对“dev”数据库运行…在上一次测试运行后,该数据库不会“回滚”或“重置”。我更希望它运行在src/test/resources/config/application.yml中配置的内存中h2数据库上,每次运行后都会重置该数据库
如何使用h2进行测试,使用mysql进行开发
谢谢我不确定这是否是解决这个问题的“正确”方法,但我通过创建一个新的配置文件“test”,使我的测试能够通过重复运行
然后我不得不做两件事:
1) 将src/test/resources/config/application.yml中的spring.profile
更改为“test”而不是“dev”(使test application.yml与dev application.yml不同)
2) 在我的测试中使用@ActiveProfiles(“test”)
而不是@ActiveProfiles(“dev”)
test application.yml使用h2数据库,并根据需要在运行之间重置
注意:通过使用以下注释我的测试类,在不创建新概要文件的情况下,我还成功地进行了连续测试运行:
@Transactional
@TransactionConfiguration(defaultRollback = true)
作为
在测试结束时,事务将回滚,数据将被丢弃,留下一个新的环境供下一个测试执行
看